2010-11-24 56 views
0

随着黄瓜0.9.4,Iam使用Watir红宝石测试一些网站。 所有的测试工作正常,但问题是如果该网站正在加载一段时间 然后跳过站点测试,如何克服 这个问题。 我的档案内容是:watir网站测试不适用于需要一段时间加载的网站

Feature: Search 
    In order to learn more 
    As an information seeker 
    I want to find more information 

    Scenario: Find what I'm looking for 
    Given I am on the Google search page 
    When I click on link Services 
    Then I should see 
     """ 
     spriteCloud 
     """ 

我的步骤def。文件内容是:

Given 'I am on the Google search page' do 
    @browser.goto 'http://www.spritecloud.com/' 
end 

When /^I click on link (.*)$/ do |link| 
    @browser.link(:text, link).click 
end 

Then /I should see/ do |text| 
    @browser.text.should =~ /#{text}/m 
end 

上面的代码可以完美的网站google.com和点击新闻栏目

回答

3

默认的Watir等待页面加载。网页上是否存在异步请求?

对于异步请求,Watir不会等到尝试一个动作,这可能是您的测试失败的原因。在这种情况下,您需要等待元素首先加载:

Waiter.wait_until(20) do 
    browser.text_field(:id, 'customer_id').exists? 
end 

然后执行操作。