Перейти к содержимому

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

Время ожидания WebDriwer

Selenium WebDriwer

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 15 декабря 2014 - 07:30

Добрый день уважаемые форумчане. 

Подскажите пожалуйста:

driver.findElement(By.name("login")).sendKeys("login");
driver.findElement(By.name("password")).sendKeys("pfssword");
driver.findElement(By.name("yt0")).click();

Как заставить webdriver ожидать некоторое время после нажатия?

 

Заранее спасибо.

С уважением, Антон.

 


  • 0

#2 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 15 декабря 2014 - 16:07

Самый простой вариант (ожидание 1 секунда):

Thread.sleep(1000);

Вариант посложнее и правильнее, как тут скажут, ожидать какого-либо события...


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#3 IvanStawski

IvanStawski

    Новый участник

  • Members
  • Pip
  • 26 сообщений
  • ФИО:Ставский Иван Михайлович
  • Город:Санкт-Петербург

Отправлено 15 декабря 2014 - 16:23

 

Добрый день уважаемые форумчане. 

Подскажите пожалуйста:

driver.findElement(By.name("login")).sendKeys("login");
driver.findElement(By.name("password")).sendKeys("pfssword");
driver.findElement(By.name("yt0")).click();

Как заставить webdriver ожидать некоторое время после нажатия?

 

Заранее спасибо.

С уважением, Антон.

 

Настоятельно рекомендую не ожидать "Некоторое" время, а ждать появления/ исчезновения элемента на странице. Для этого можно использовать WebDriverWait


  • 0

#4 asolntsev

asolntsev

    Новый участник

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Андрей Солнцев
  • Город:Таллинн

Отправлено 15 декабря 2014 - 17:37

Используйте библиотеку Selenide. С ней Вы можете просто написать $(".loading").should(disappear); или $("#greeting").shouldHave(text("hello, Vasja!")); - и она сама подождёт.
  • 0

#5 mazik7

mazik7

    Новый участник

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Мазик
  • Город:Красноярск

Отправлено 16 декабря 2014 - 02:14

driver.Timeouts().ImplicityWait(TimeSpan.FromSeconds(time))// time - double

 - ожидание загрузки страницы. Если во время загрузки страницы происходит несколько перенаправлений, то его использование безсмысленно.

Webdriver wait - несколько сложенее в использовании. С его помощью можно дожидаться появления элемента в DOM.

Webdriver wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementExists(By.XPath(xPath))); //xPath - string.

- Здесь driver в течении 10 секунд будет ждать появления элемента, по истечении - exception.

Until в С# позволяет кроме ExpectedConditions использовать лямбда-выражения. А вот по ним я ничего пояснить не смогу)) Ибо не освоил (Уж больно синтаксис не привычен)


  • 0

:smile:



Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами Selenium, WebDriwer

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале