1

Ich habe Code geschrieben, um die Gesamtzahl der Links auf der Webseite zu zählen. Ich habe JavascriptExecutor in Selen davon verwendet. Aber Problem ist, dass ich unterschiedliche Anzahl für Java-Skript-Befehl Gesamtanzahl Link in Selenium und dasselbe in der Browser-Konsole bekomme. Hier sind Testdetails:Unterschied in der Anzahl der "Gesamtzahl der Links" auf der Webseite durch Selenium und Browser-Entwicklungstools

Website im Test: https://www.ebay.com/ Test: Gesamtzahl der Links auf der Startseite von Ebay.

Selen-Code und Ergebnis:

WebDriver driver = new ChromeDriver(); 
    driver.get("https://www.ebay.com/"); 

    driver.manage().timeouts().implicitlyWait(20l, TimeUnit.SECONDS); 

    JavascriptExecutor js = (JavascriptExecutor)driver; 
    System.out.println(js.executeScript(" return document.links.length")); 

Ergebnis: 422

Aber wenn ich in derselben Browser-Konsole ausgeführt dann bekomme ich 440. enter image description here

Ich bin nicht in der Lage Unterschied hier zu verstehen, . Bitte jemand mir helfen

zu verstehen
+1

Der Inhalt ist dynamisch und ändert sich, es ist nicht die exakt gleiche Seite auf jeder Last. – lauda

Antwort

0

Es wäre ziemlich hart sein, um Ihre Frage zu beantworten, wie Sie nicht erwähnt haben Konsole, welchen Browser Sie den JavaScript Befehl ausgeführt:

document.links.length 

Wie auch immer die Test Result, die Sie beobachten, durch ChromeDriver ist nur identisch mit meinem schnellen Testergebnis, das ich durch Chrome Development Console dh die genaue Zahl von beobachte. Siehe den Schnappschuss unter:

document.links.length

Allerdings ist es wert zu erwähnen, dass IEDriverServer und GeckoDriver die beide W3C-konform und Google Chrome und PhantomJS noch sein OSS-konform rendert die HTML DOM Tree durch verschiedene Protokolle a Standards. Obwohl der Unterschied in DOM Baum Rendering Mechanism kann unbedeutend sein, aber delta Unterschied in der End Results ist genug zu FAIL Ihre Validation.

Daher wäre die Lösung für jede einzelne Variante (entweder von IE/Firefox/Chrome/PhantomJS) von WebDriver/Web Browser Kombination wählen immer zu validieren für Manual und AutomatedTest Results.

+0

Danke für die Antwort. Ich habe 440 in Mozilla. Screenshot, den ich in meiner Frage geteilt habe, ist Mozilla Developer. –

+0

@PraveenKumar Da Sie ChromeDriver verwendet haben, basierte meine Antwort auf Chrome. Ich habe den Grund für die unterschiedliche Ausgabe in meiner Antwort erläutert. Wenn meine Antwort auf Ihre Frage eingegangen ist, akzeptieren Sie die Antwort, indem Sie auf das Häkchen neben meiner Antwort klicken, das sich direkt unter dem Pfeil "Abstimmen" befindet, sodass das Häkchen grün wird. – DebanjanB

Verwandte Themen