2. Немного обо мне
• Работаю в автоматизации
тестирования более 6 лет
• Увлекаюсь современными
технологиями
• Мечтаю автоматизировать весь
мир =)
3. Суть проблемы
• Большое время прогона UI тестов
• Нечестная балансировка нагрузки в инфраструктуре
• Нечестное распараллеливание тестов
• Отсутствие стабильности системы прогона тестов
• Сложность поддержки инфраструктуры
• Медленные тесты
7. Замедление прогона на уровне теста
• Использование статических таймаутов
• Выставление precondition через UI интерфейс
• Использование только положительных условий
ожидания
• Неоправданные обращения к браузеру
• Начало теста с главной страницы
10. Использование только положительных условий ожидания
public boolean isButtonPresent() {
return waitForElementPresent(By.xpath(buttonLocator));
}
@Step
public void buttonShouldNotBePresent() {
assertFalse(“Кнопка отображается на странице”, isButtonPresent());
}
@Step
public void buttonShouldBePresent() {
assertTrue(“Кнопка не отображается на странице”, isButtonPresent());
}
11. Неоправданные обращения к браузеру
private WebElement getInputField(FieldData field) {
String locator = String.format(inputFieldLocator, field.getType);
return getDriver().findElement(By.xpath(locator));
}
public void enterValueAndEnter(FieldData field, String value) {
getInputField(field).sendKeys(value);
getInputField(field).sendKeys(Keys.ENTER);
}