我正在使用 Cucumber + WatirWebdriver 进行一些验收测试,我一直在想,在单击元素后,底层的 webdrivers 正在等待加载新页面。我是这么认为的,因为 Firefox 网络驱动程序似乎可以做到,正如我所期望的那样。该测试在 FF 中完美运行,但在(例如)ghostdriver(phantomjs webdriver)中没有。
Scenario: Follow a link on Amazon
When I visit Amazon
And click your account link
Then the title should include "Recommended"
When /^I visit Amazon$/ do
@browser.goto "http://amazon.com"
end
When /^click your account link$/ do
@browser.link(:id, 'nav-your-amazon').click
end
Then /^the title should include "([^"]*)"$/ do |arg1|
@browser.title.should include arg1
end
最后,我在 ghostdrivers github 页面上打开了一个问题,并被告知 Selenium webdrivers 不打算在点击后等待页面加载。
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#click ()
所以现在我的问题是,在点击等操作后等待页面加载是否有最佳实践?