Офіс в Україні: +38 (063) 50 74 707

Офіс у США: +1 (212) 203-8264

Ручне тестування

Забезпечте найвищу якість вашого програмного забезпечення за допомогою наших послуг ручного тестування.

Мобільне тестування

Оптимізуйте свої мобільні додатки для бездоганної роботи на всіх пристроях і платформах за допомогою наших комплексних послуг з мобільного тестування.

Автоматизоване тестування

Покращуйте свою розробку програмного забезпечення за допомогою наших послуг автоматизованого тестування, розроблених для підвищення ефективності.

Функціональне тестування

Вдосконалюйте основний функціонал вашого додатку за допомогою наших послуг з функціонального тестування

ПЕРЕГЛЯНУТИ ВСІ ПОСЛУГИ

Обговорення -

0

Обговорення -

0

Команди очікування в Selenium

Очікування є характерною рисою будь-якого UI-тесту для динамічних додатків. Вони полегшують синхронізацію AUT і тестового скрипта. Реакція програми на команди набагато повільніша, ніж робота скрипта. Тому в скриптах доводиться чекати певного стану програми, щоб взаємодіяти з нею.

Використання команд очікування є важливим при виконанні тестів у Selenium. Це дозволяє уникнути проблем, які можуть виникнути через зміну часової затримки.

Тим не менш, очікування, особливо в автоматизованих тестах, не завжди добре. Але можна реорганізувати свою роботу, використовуючи сприятливий метод. Selenium WebDriver має три команди для реалізації очікувань у тестах: Implicit Wait, Explicit Wait, Fluent Wait.

У цій статті ми зосередимося на перших двох командах.

Неявне очікування вказує веб-драйверу Selenium зачекати необхідний час, а потім згенерувати виняток. Після визначення часу, WebDriver чекає на елемент перед тим, як згенерувати виключення.

Після виконання команд неявне очікування діє доти, доки відкритий браузер. Значення за замовчуванням дорівнює 0, тому виняток буде миттєвим.

Синтаксис: driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS)

Встановити неявне очікування:

Налаштування неявного очікування

Налаштування неявного очікування

Неявне очікування збільшує час виконання тестового сценарію. Команди повинні зачекати певний час, перш ніж повернутися до виконання тесту.

Явне очікування реалізується при виконанні умови, після чого тест буде запущено знову.

Синтаксис: WebDriverWait wait = new WebDriverWait(driver,10)

Список умов, що застосовуються ExpectedConditions:

- alertIsPresent()
- elementSelectionStateToBe()
- elementToBeClickable()
- elementToBeSelected()
- frameToBeAvaliableAndSwitchToIt()
- невидимістьElementLocated()
- invisibilityOfElementWithText()
- presenceOfAllElementsLocatedBy()
- presenceOfElementLocated()
- textToBePresentInElement()
- textToBePresentInElementLocated()
- textToBePresentInElementValue()
- titleIs()
- titleContains()
- visibilityOf()
- visibilityOfAllElements()
- visibilityOfAllElementsLocatedBy()
- visibilityOfElementLocated()

Приклад тесту Explicit Wait:

private WebDriver driver;
private WebDriverWait wait wait;
private WebElement exampleElement;

@BeforeMethod(alwaysRun = true)
public void setUpDriver() {
//Встановлюємо драйвер
ChromeOptions options = new ChromeOptions();
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver(options);
//Встановлюємо явне очікування
wait = new WebDriverWait(driver, 10);
}

@Test(description = “Відкрити url”)
public void openUrl() {
//Відкрити браузер
driver.manage().window().setSize(new Dimension(1280, 970));
//Здобути url
driver.get(“https://some-site.com”);

//Чекаємо, поки blockUI не зникне
wait.until(ExpectedConditions.invisibilityOfElementLocated
(By.cssSelector(“element”)));
wait.until(ExpectedConditions.invisibilityOf(exampleElement));

//Пошук елементу
WebElement element = driver.findElement(By.id(“some-id”));
Assert.assertTrue(element.isDisplayed());

//Клікнути елемент
element.click();

//Чекаємо, поки алерт буде присутній
wait.until(ExpectedConditions.alertIsPresent());
driver.switchTo().alert().accept();

}

@AfterMethod(alwaysRun = true)
public void closeBrowser() {
//Закрити браузер
driver.quit();
}

У роботі автоматизованого тестувальника в незалежній організації із забезпечення якості дуже важливо застосовувати команди очікування Selenium. Це заощадить багато часу і забезпечить відмінний підхід до вирішення багатьох проблем тестування програмного забезпечення.

0 коментарів

Опублікувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Вам також може сподобатися

Кипарис проти Драматурга у 2026 році: посібник зі стратегії, а не підручник

Кипарис проти Драматурга у 2026 році: посібник зі стратегії, а не підручник

Порівняння пліч-о-пліч, матриця варіантів використання та реальний вердикт TestMatick - адже вашій команді потрібна...

Що таке тестування API? Посібник для початківців з практичними прикладами

Що таке тестування API? Посібник для початківців з практичними прикладами

API - це сполучна тканина сучасного програмного забезпечення. Коли користувач входить в систему, робить замовлення або...

Ручне чи автоматизоване тестування: Як побудувати гібридну стратегію для зростання

Ручне чи автоматизоване тестування: Як побудувати гібридну стратегію для зростання

Багаторічні суперечки про те, який метод тестування є кращим, відволікають від того, що дійсно має значення: швидкості...