Gotcha: Praxiserfahrungen mit Selenium 0

Posted by fwoeck
on Tuesday, April 14

Beim Auffinden von Links nach einem Seitenneuaufbau kommt es in meinem cucumber/webrat/selenium-Stack gelegentlich zu Timingschwierigkeiten. Soweit ich die Sache interpretiere, muss man folgendes beachten:

  1. Zeitangaben werden in cucumber bei Selenium-Aufrufen in Sekunden gesetzt – diese werden automatisch zu Millisekunden konvertiert.
  2. Wenn zuvor kein Seitenaufbau angefordert wurde, wartet die Methode “selenium.wait_for_page_to_load” vergebens.
  3. Falls ein Link auch trotz xpath-Locator nicht gefunden wird, kann ein Pagerefresh helfen.

Beispiele

Hier zwei cucumber steps:

Given I refresh the page
And I follow xpath "//*[@id='p1show']" 
...

und ihre Stepdefinition:

1
2
3
4
5
6
7
8
9
Given /^I refresh the page$/ do
  selenium.refresh
  selenium.wait_for_page_to_load 2
end

When /^I follow xpath "([^\"]*)"$/ do |link|
  selenium.click "xpath=#{link}"
  selenium.wait_for_page_to_load 2
end

Das “wait_for_page_to_load” verringert die Wahrscheinlichkeit von Timingproblemen im Ablauf erheblich.

Comments

Leave a response

Comment