Вы находитесь на странице: 1из 5

Министерство образования республики Беларусь

Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий

Специальность 1-40 01 01 «Программное обеспечение информационных


технологий»

Лабораторная работа №4
По курсу Надежность программного обеспечения  

Выполнила студентка гр. № 98107Х:


Проверил: Киш О. И.

Минск 2021
Лабораторная  работа №4
Целью данной работы является тестирование Web-приложений с
использованием инструментального средства Selenium WebDriver.

Постановка задачи:
1. Протестировать программное средство;
2. Проверить работу всех кнопок;
3. Проверить функционал всего проекта.
Тестируем проект «Yandex.com» (окно авторизации).
Запустим Intellij IDEA, пройдем первые несколько пунктов, касающихся
отправки статистики, импорта проектов, выбора цветовой схемы и т.д. —
просто выберем параметры по умолчанию.

В появившемся в конце окне выберем пункт «Create New Project», а в


нем тип проекта Maven. Окно будет иметь вид:

Для этого автотеста необходимо добавить две библиотеки: Selenium


Java и Junit. Перейдем на центральный репозиторий Maven mvnrepository.com,
вобьем в строку поиска Selenium Java и зайдем в раздел библиотеки:

2
Задачи для проведения тестирования
Описание:

1. Пользователь открывает страницу аутентификации;


2. Пользователь производит ввод валидных логина и пароля;
3. Пользователь удостоверяется в успешной аутентификации — об этом
свидетельствует имя пользователя в верхнем правом углу окна;
4. Пользователь осуществляет выход из аккаунта путем нажатия на имя
пользователя в верхнем правом углу окна с последующим нажатием на
кнопку «Выйти…».

Тест считается успешно пройденным в случае, когда пользователю удалось


выполнить все вышеперечисленные пункты.

Для примера будет использоваться аккаунт Яндекс (учетная запись заранее


создана вручную).
Тест
Теперь можно перейти непосредственно к написанию логики теста. Создадим
метод loginTest() и пометим его соответствующей аннотацией:
@Test
public void loginTest() {
//значение login/password берутся из файла настроек по аналогии с chromedriver
//и loginpage
//вводим логин
loginPage.inputLogin(ConfProperties.getProperty("login"));
//нажимаем кнопку входа
loginPage.clickLoginBtn();
3
//вводим пароль
loginPage.inputPasswd(ConfProperties.getProperty("password"));
//нажимаем кнопку входа
loginPage.clickLoginBtn();
//получаем отображаемый логин
String user = profilePage.getUserName();
//и сравниваем его с логином из файла настроек
Assert.assertEquals(ConfProperties.getProperty("login"), user); }
В этом методе осуществляется вход в меню пользователя и нажатие кнопки
«Выйти», чтобы разлогиниться.
@AfterClass
public static void tearDown() {
profilePage.entryMenu();
profilePage.userLogout();
driver.quit(); }
Обзор теста
package org.example;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class LoginTest {
public static LoginPage loginPage;
public static ProfilePage profilePage;
public static WebDriver driver;

/**
* осуществление первоначальной настройки
*/
@BeforeClass
public static void setup() {
//определение пути до драйвера и его настройка
System.setProperty("webdriver.chrome.driver", ConfProperties.getProperty("chromedriver"));
//создание экземпляра драйвера
driver = new ChromeDriver();
loginPage = new LoginPage(driver);
profilePage = new ProfilePage(driver);
//окно разворачивается на полный экран
driver.manage().window().maximize();
//задержка на выполнение теста = 10 сек.
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//получение ссылки на страницу входа из файла настроек
driver.get(ConfProperties.getProperty("loginpage")); }
/**
* тестовый метод для осуществления аутентификации
*/
@Test
public void loginTest() {
//получение доступа к методам класса LoginPage для взаимодействия с элементами страницы
//значение login/password берутся из файла настроек по аналогии с chromedriver
//и loginpage
//вводим логин
loginPage.inputLogin(ConfProperties.getProperty("login"));
//нажимаем кнопку входа
loginPage.clickLoginBtn();
//вводим пароль
loginPage.inputPasswd(ConfProperties.getProperty("password"));

4
//нажимаем кнопку входа
loginPage.clickLoginBtn();
//получаем отображаемый логин
String user = profilePage.getUserName();
//и сравниваем его с логином из файла настроек
Assert.assertEquals(ConfProperties.getProperty("login"), user); }
/**
* осуществление выхода из аккаунта с последующим закрытием окна браузера
*/
@AfterClass
public static void tearDown() {
profilePage.entryMenu();
profilePage.userLogout();
driver.quit(); } }

Запуск автотеста
В результате выполнения автотеста, в консоли Idea я вижу, что тестовый
метод loginTest() пройден успешно:

ВЫВОД
Получены практические навыки работы в среде автоматизированного
тестирования SeleniumWebDriver, работы с созданием тест case для
автоматизированного тестирования. Разработаны тест планы и протестирован
программный продукт на основе веб сайта.

Вам также может понравиться