2010-11-24 3 views
0

キュウリ0.9.4では、Watir ruby​​ gemを使用していくつかのWebサイトをテストしています。 すべてのテストはうまくいきますが、サイトが をロードしてからサイトテストをスキップすると、 この問題を克服する方法があります。 マイ機能ファイルの内容は次のとおりです。読み込みに時間がかかるサイトでは、watir Webテストが機能しません

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 
     """ 

マイステップデフ。ファイルの内容は次のとおりです。

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はアクションを試行するまで待つことがなく、テストが失敗する原因となります。その場合は、要素が最初に読み込まれるまで待つ必要があります。

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

次に、この操作を実行します。

関連する問題