2017-01-10 1 views
0

Ich muss Selenium verwenden, um einen Test zu automatisieren, wo gibt es Kontrollkästchen, Dropdown-Menüs und Textfelder. Drop-Downs sind derzeit ein Problem. Es scheint das Problem ist Selenium kann das Element aus meiner Aufnahme nicht identifizieren. Ich habe das Thema recherchiert und finde keine Lösungen, die keine umfangreiche Codierung erfordern. Für Arbeitszwecke kann ich nur die IDE verwenden.Wie Selenium IDE zu verwenden, Dropdown-Menüs ohne Codierung zu wählen

habe ich versucht, die letzte Lösung in dieser: Selecting a drop-down option using Selenium IDE

aber es hat nicht funktioniert. Ich habe versucht, klicken, wählen und sendkeys Befehle. Der beste Befehl scheint ein Klick zu sein, wo er auf das Dropdown-Menü klickt und die Optionen anzeigt. Ich kann nicht herausfinden, wie ich die Option auswähle. Als ich nach unten auf dem Drop klicken, ich folgend in Selen erhalten:

xpath=(//button[@type='button'])[15] 

Nach der Wahl klicken:

//div[12]/div/ul/li[7]/a/span 

Nach Firebug, sehe ich, dass die Dropdown-Code ist:

<button class="btn dropdown-toggle selectpicker btn-default" type="button" data-toggle="dropdown" title="--Select Value--"> 

Wie mache ich das? Wenn ich kleinere Tests für nur ein Dropdown ausgeführt habe, funktioniert es und am nächsten Tag, nachdem ich es in einem größeren Test ausgeführt habe, schlägt es fehl.

Antwort

0

Ich vermisse einige Details aus der Erklärung, aber klingt wie Ihr Drop-Down ist kein echtes Drop-Down, es ist eher eine Schaltfläche, die beim Klicken zeigt ein div mit einem Bündel von Links, auf die Sie klicken sollen . Also schlage ich etwas wie folgt vor:

  1. Klicken Sie auf die Schaltfläche.

    Command: click 
    Target: xpath=(//button[@type='button'])[15] 
    
  2. Warten Sie //div[12]/div/ul zu zeigen.

    Command: waitForVisible 
    Target: //div[12]/div/ul 
    
  3. Wählen Sie die Option, indem Sie auf Link:

    Command: click 
    Target: //div[12]/div/ul/li[7]/a/span 
    

Hinweis: In allen oben genannten Fällen ich XPath Sie in Frage bereitgestellt verwendet, aber in Wirklichkeit vermeiden Indizes verwenden und lieber sehen Wenn dieser Pfad durch einige Attribute identifiziert werden kann, z @id oder @class. Es gilt für Button, ul und alles andere. Indizes sind der schlechteste Weg, Elemente wirklich zu finden, und sollten nur verwendet werden, wenn nichts anderes möglich ist (was normalerweise nicht zutrifft, zum Beispiel hat die Schaltfläche immer ein Label)

+0

Ich kann bei Bedarf weitere Details hinzufügen. Ich habe heute Ihre Lösung versucht und der Test ist in der Lage, auf den Button (Dropdown) zu klicken. Es trifft die Auswahl nicht und schlägt fehl: /. Ich sollte hinzufügen, ich habe Selen vorher nie benutzt. – fractal21

+0

scheitert es bei Warten oder bei Klick (Schritt 3)? Wenn Sie können, senden Sie ein HTML-Fragment mit "Dropdown" –

+0

Der Fehler tritt bei Klick auf (Schritt 3). Hier ist ein Teil des HTML-Codes:

Verwandte Themen