Finden Sie heraus, welche Ressourcen nicht erfolgreich mit Selenium geladen wurden

8

Ich muss eine Anwendung mit Selenium testen. Die Anwendung enthält externe Inhalte wie Anzeigen. In meinem Test muss ich mehrmals warten, bis das Dokument geladen ist. Das sieht so aus:

%Vor%

Es passiert manchmal, dass der Browser immer noch Ressourcen lädt. Soweit ich verstehe, könnte ich manchmal akzeptieren, dass readyState ist interaktiv anstelle von vollständig Zum Beispiel wenn einige Anzeigen nicht rechtzeitig geladen werden, ist für meinen Test absolut nicht interessant.

Ist es irgendwie möglich, eine Liste von Ressourcen mit URLs zu erhalten, die noch nicht geladen wurden? Dann könnte ich eine Assertion einbauen, die überprüft, welche Ressourcen für den Test notwendig sind und welche nicht.

Ich benutze Selenium Java WebDriver 2.53.1 mit Firefox 46 unter Linux.

    
Gábor Lipták 20.07.2016, 09:15
quelle

3 Antworten

2

Ich kann 3 Ansätze teilen, die prüfen können, ob das Element vorhanden ist oder nicht. Hoffe, mit dieser Methode können Sie sich beruhigen.

Ansatz # 1:

%Vor%

Ansatz # 2:

%Vor%

Ansatz # 3:

%Vor%     
SkyWalker 04.08.2016 09:21
quelle
1
  1. Warten Sie, bis bestimmte Elemente vorhanden sind
  2. Eine Art Problemumgehung besteht darin, browsermob proxy oder smthn aehnlich zu verwenden. Im Falle von browsermob gibt es eine Methode, die es erlaubt auf den Netzwerkverkehr zu warten und eine gewisse Zeit zu warten, um sicherzustellen, dass der Browser keine macht zusätzliche Anrufe.
Mikhail 21.07.2016 18:47
quelle
1

Das habe ich mir also selbst ausgedacht. Dies kann die Bilder erkennen, die nicht geladen sind. Ich benutzte die wirklich coolen Webdienste Ссылка und Ссылка . Also zumindest für Bilder habe ich etwas.

%Vor%

Konsolenausgabe:

%Vor%     
Gábor Lipták 10.08.2016 21:29
quelle