AbushaevaDiana / Tests

0 stars 0 forks source link

Замечания по форме логинации #1

Open Ginyola opened 3 years ago

Ginyola commented 3 years ago
  1. В конфигурационном файле есть только chrome, нет edge и firefox (firefox и в коде нет)
  2. Надо добавить тесты, хотя бы на смену языков
  3. Создать Page object на форму логинации (статью скидывал в телеграм) и использовать её в тестах. (ещё пример из гугла: https://kreisfahrer.gitbooks.io/selenium-webdriver/content/page_object_pattern_arhitektura_testovogo_proekta/ispolzovanie_patterna_page_object.html).
  4. if (browser.equals("chrome")) { System.setProperty("webdriver.chrome.driver", "C:\\driver\\chromedriver.exe"); driver = new ChromeDriver(); } else if (browser.equals("edge")) { System.setProperty("webdriver.ie.driver", "C:\\driver\\msedgedriver.exe"); driver = new EdgeDriver(); } вынести в отдельный метод, который будет возвращать объект WebDriver. Должно получиться как то так: private WebDriver getDriver(String browserName){ //тут ваш код, возвращающий ChromeDriver, EdgeDriver или FirefoxDriver (return new ChromeDriver();) }
  5. Подобно аннотации @AfterMethod существует аннотация @BeforeMethod, попробуйте воспользоваться ей, подумайте что туда можно вынести (эта аннотация запускается перед каждым тестовым методом, с аннотацией @Test)
  6. if (test.equals("-")) { WebElement alert = driver.findElement(By.xpath("//tl-alert[@text='Неверный логин или пароль.']")); Assert.assertTrue(alert.isDisplayed(), "Алерт о неправельном вводе логина или пароля не отобразился"); } else { String url = driver.getCurrentUrl(); Assert.assertEquals(url, "https://www.qatl.ru/secure/Extranet/#/Proxy/RoomTypeAvailability.aspx", "Вход неосуществлен"); } вынести в отдельный метод, принимающий переменную test и driver
Ginyola commented 3 years ago
  1. Названия классов всегда с большой буквы public class loginPage {
  2. Методы с ассертами нужно оставить на уровне теста, непосредственно к странице они не относятся (errorMessages(String test), checkLanguage(String text)).Т.е. надо вынести их из PAgeObject класса в класс теста
  3. ChooseLanguage(number), методы в Java пишутся с маленькой буквы (lowerCamelCase, а названия классов с большой)