2017-09-05 6 views
0

Firepath screenshot Link to screenshotSelen WebDriver nicht in der Lage Richfaces Drop-Down-Wert

In meiner Umgebung nur Browser zu erkennen, die funktioniert, ist Chrome. Die Anwendung enthält jedoch auch Probleme und rendert die Richfaces-Dropdownliste nicht, wenn der Browser nicht auf 80% verkleinert wird. Wenn das Bild ausgezoomt wird, zeigt der Browser nur den Dropdown-Wert an. Andernfalls zeigt Chrome bei 100% Zoom eine horizontale Bildlaufleiste im angehängten Modus an. Ich habe alle meine Methoden ausgeschöpft, um zu versuchen, das Objekt zur Laufzeit zu erkennen, aber es wird nicht erkannt. Der HTML-Code ist auch völlig anders, wenn Sie die Dropdown-Liste oder die gesamte Seite auswählen.

Syntaxen verwendet, um die Drop-Down zu erkennen sind wie folgt:

driver.findElement(By.id("orderCreationForm:j_id211:productSelect")).click(); //This line to click on the dropdown pulldown tree 

driver.findElement(By.xpath("//span[contains(.,'Fish Hooks')]")).click(); //This line to click on the actual dropdown item 
+0

shared thwhtml ot Link – iamsankalp89

+1

Bitte lesen [fragen], vor allem der Teil über [MCVE], und [Wie viel Forschungsaufwand wird erwartet?] (Https://meta.stackoverflow.com/questions/261592/) Wie viel Forschungsaufwand wird von Stack-Overflow-Benutzern erwartet - Dies wird Ihnen helfen, Ihre eigenen Programme zu debuggen und Probleme selbst zu lösen. Wenn Sie dies tun und immer noch feststecken, können Sie zurückkommen und Ihren MCVE, das, was Sie ausprobiert haben, und das Ausführungsergebnis einschließlich aller Fehlermeldungen posten, damit wir Ihnen besser helfen können. Stellen Sie auch einen Link zu der Seite und/oder dem relevanten HTML bereit. – JeffC

+0

Das Verwenden von Selektoren mit 'j_id211' (zum Beispiel) ist sehr unsicher, da es dynamisch von' Richfaces' erstellt wird. Ein neuer Build wird wahrscheinlich einen anderen Selektor haben und Ihre Tests werden fehlschlagen. Können Sie etwas HTML und einen Screenshot für diese Seite hinzufügen, die Sie testen möchten? – Tom

Antwort

0

Es sieht seltsam, weil die meisten wahrscheinlich, dass Ihr CSS einige der Richfaces Styling überschreiben.

Wie zum Auffinden des Dropdown-Menüs - es ist nicht unter dem Elternelement inplaceSelect aber unter <body>. Die meisten von RichFaces erstellten Elemente haben einen eindeutigen Klassennamen (innerhalb der Unterstruktur der Komponente), den Sie verwenden können, um das Element zu finden - der Dropdown-Parent hat rich-inplace-select-width-list.

Verwandte Themen