selen-webdriver und warte auf das Laden der Seite

8

Ich versuche einen einfachen Test zu schreiben. Mein Problem ist, dass ich warten möchte, bis die Seite komplett geladen ist. Im Moment warte ich, bis einige Elemente präsentiert werden, aber das ist nicht wirklich was ich will. Ist es möglich, so etwas zu machen:

%Vor%

Mit Java ist das kein Problem, aber wie macht man es mit Ruby?

    
cupakob 07.07.2012, 07:58
quelle

5 Antworten

13

So schlägt Selenium docs () vor :

%Vor%

Wenn das keine Option ist, können Sie den Vorschlag von diese SO-Post , obwohl es etwas Javascript oben auf Ruby / Rails erfordern würde.

Es scheint, dass wait.until ausläuft / wurde. Der neue vorgeschlagene Prozess es nach der Seite zu suchen, um ein Element zu haben, das du kennst, wird dort sein:

%Vor%     
ScottJShea 07.07.2012, 09:28
quelle
5

Soweit ich Webtreiber verstehe, müssen Sie nicht auf das Laden der Seite warten, da WebDriver über blockierende API , aber Sie können sicher ein Seitenladezeitlimit setzen.

%Vor%     
vidit 07.07.2012 18:54
quelle
2

Das wird mit WebDriver nicht mehr benötigt.

WebElement click () und Aktionen klicken Sie () beide "auf Seite laden" bei Bedarf automatisch.

Sie können stattdessen implizit und explizit (in dieser Reihenfolge) warten (beschrieben unter selenehq), wenn Sie zum Beispiel auf einen Ajax-Inhalt warten müssen.

    
Franz Ebner 07.07.2012 22:19
quelle
2

Wenn Sie also in Ruby get verwenden, um eine URL zu öffnen, wird das Ruby-Skript NUR fortgesetzt, wenn die Seite vollständig geladen wird.

Also in Ihrem Fall würden Sie einfach tun: -

%Vor%     
Amey 07.07.2012 23:32
quelle
1

Es gab Fälle, in denen entweder AJAX- oder CSS-Änderungen dazu führten, dass meine Tests zeitweise fehlschlugen. Ich habe diese Methoden meiner statischen Treiberinstanz hinzugefügt, damit der Test bei Bedarf auf bestimmte Bedingungen warten kann. (c #)

TimedWait in der WaitForCssChange-Methode ist im Grunde nur ein Threading.Thread.Sleep Das ist nicht die schönste Art, die ich schätze, aber es funktioniert gut für meine Bedürfnisse.

Für Ajax warte:

%Vor%

Für CSS-Änderungen:

%Vor%     
VDubs 25.02.2015 16:12
quelle

Tags und Links