2010-11-24 111 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 

然後執行操作。