1

В то время как в большинстве случаев я рад, что тесты браузера работают быстро (и без головы), в некоторых случаях было бы чрезвычайно полезно пройти переход к тестам, которые замедляли процесс и, возможно, даже выделил мышь перед нажатием.Есть ли способ сделать Selenium или Facebook Webdriver замедленными, чтобы тесты наблюдались?

Самый большой вариант использования для этого - демонстрация и передача значения этих тестов лицам, принимающим решения, - что-то, что трудно сделать, когда окна так быстро работают, что они не могут понять, что происходит.

+3

вы можете добавить 'time.sleep()' после каждого шага или просто использовать 'InternetExplorer 'webdriver :)) – Andersson

+0

Hah! IE на помощь. На самом деле, хотя добавление сна ко всему было бы довольно значительным вложением в жестокий код. Я надеюсь на более элегантный вариант. –

ответ

1

Установите VNC на свой сервер селена, тогда вы можете просто наблюдать, как они происходят.

Если вы хотите замедлить работу, вы можете сделать сон (1) в функции основной структуры, такой как click() или еще что-то, чтобы замедлить еще больше.

+0

Я знаю, как сделать их безголовыми или нет; вопрос заключается скорее в способе установки опции конфигурации или тому подобного, чтобы замедлить ее. –

3

Привет пожалуйста, сделайте это, как показано ниже

WebDriver driver = new FirefoxDriver(); 
EventFiringWebDriver slowDriver = new EventFiringWebDriver(driver); 
slowDriver.registerListener(new ListenerThatAddsPauses(5, TimeUnit.SECONDS)); 

Вам придется написать свой класс ListenerThatAddsPauses, которые расширят AbstractEventFiringListener. В ListenerThatAddsPauses вам придется переопределить методы из родительского класса и, например, добавить необходимые паузы. Что-то вроде:

@Override 
public void beforeClickOn(WebElement element, WebDriver driver) { 
    Thread.sleep(timeout); 
} 

и здесь я нашел пример, пожалуйста, посмотрите на это может быть, это поможет вам http://seleniumworks.blogspot.in/2014/02/eventfiringwebdriver.html

Смежные вопросы