Ich schreibe ein automatisiertes Testprogramm, das einige Web-Programme testen wird, die manchmal langsam sind, um bestimmte AJAX-Aufrufe zu laden. Zum Beispiel wird der Benutzer auf "Abfrage" klicken, was zu einem HTML "Laden" Overlay für 15 bis 90 Sekunden führen wird. Wenn die Suche abgeschlossen ist, aktualisiert sie eine Tabelle auf derselben Seite mit den Ergebnissen.Ist es möglich Watir-Webdriver global zu erhöhen, wenn die Wartezeit abgelaufen ist?
So offensichtlich kann ich die Wartezeit individuell wie so zu erhöhen:
browser.td(:id => 'someId').when_present.some_action #=> will wait 30 seconds
browser.td(:id => 'someId').when_present(90).some_action #=> will wait *90* seconds
Aber ist es eine Möglichkeit, (in meinem Fall zu erhöhen), die Zeit zu ändern, so Watir-WebDriver immer 90 Sekunden auf .when_present
warten so wie:
browser.some_default = 90
browser.td(:id => 'someId').when_present.some_action #=> will wait *90* seconds
Ein paar Worte der Warnung: Client timeout will not affectwhen_present
. Nor will implicit wait.
Newish zu Ruby und hatte nicht viel vorher ausgedehnt. Dies scheint für mich perfekt zu funktionieren und war genau das Richtige für mich. Vielen Dank! – Sam
Anstelle des Affepatchings können Sie natürlich eine Pull-Anfrage an den Web-Treiber senden, der diese Änderung vorschlägt. – jarib