2010-11-24 3 views
0

Avec le concombre 0.9.4, Iam teste certains sites Web en utilisant Watir ruby ​​gem. Tous les tests fonctionnent correctement, mais le problème est que si le site prend un certain temps à charger alors que les tests de site sont ignorés, comment résoudre ce problème. Mon contenu du fichier est fonction:watir test web ne fonctionne pas pour les sites qui prennent du temps à charger

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

Mon étape def. le contenu du fichier est:

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 

Le code ci-dessus fonctionne parfaitement pour google.com site et cliquez sur la section de nouvelles

Répondre

3

Par défaut, Watir attend la page à charger. Y a-t-il des demandes asynchrones sur la page? Pour les requêtes asynchrones, Watir n'attendra pas la tentative d'action et cela pourrait être la raison pour laquelle vos tests échouent. Dans ce cas, vous devez attendre que l'élément soit chargé en premier:

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

Puis effectuez l'action.

Questions connexes