我正在使用 selenium 网络驱动程序与测试。我想放慢速度的执行。
下面是示例代码:
@Parameters({ "provider_name", "branch", "address", "clientId", "website", "UserName", "Password", "Dpid" })
public void addDematAccount(String provider_name, String branch, String address, String clientId, String website,
String UserName, String Password, String Dpid) {
driver.findElement(By.xpath("//a[contains(@href, '#/app/DematAccount/Add')]")).click();
setParameter(provider_name, branch, address, clientId, website, UserName, Password, Dpid);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
我用过driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
和Thread.sleep(2000);
,但没有帮助
4条答案
按热度按时间xesrikrc1#
Selenium WebDriver中不再有任何方法来控制每一“步”的速度,曾经有一段时间,Options接口上有一个setSpeed()方法(在Java绑定中;其他绑定在其适当命名的对象上有类似的构造),但它很久很久以前就被弃用了。其背后的理论是,您不需要先验地减慢WebDriver代码的每一步。如果您需要等待正在自动化的应用程序中发生某些事情,您应该使用隐式或显式等待例程。
ltskdhd12#
如果您想查看它,而它太快了,我想您可以记录正在执行的测试,然后查看它?
参见此处:http://www.seleniummonster.com/boost-up-your-selenium-tests-with-video-recording-capability/
在这里:http://unmesh.me/2012/01/13/recording-screencast-of-selenium-tests-in-java/
下面是上面链接中的一些示例
自动化测试的全部目的(在我看来)是这样它们就可以在后台运行,而不需要用户交互/不需要被查看。还有,如果你想在一定的时间内做尽可能多的测试,速度和并行测试是必不可少的。如果你想查看正在执行的测试,我认为上述方法会很好,以确保你不不要破坏Selenium的性能,并在完成后查看执行情况,您将完全控制视频回放等。
doinxwow3#
eyh26e7m4#
如果您确实希望缓慢地甚至逐步地执行程序,可以尝试以下方法: