2017-12-18 3 views
0

Hey guys, Ich bin mit einem Skript für Web-Automatisierung SELENIUM-IDE für Mozilla Firefox. Im Skript bin auf der Suche ich die „next“ Schaltfläche auf der Webseite und würde gerne wissen, ob es verfügbar ist oder nicht. Wenn ja, klicken Sie darauf und gehen Sie zur nächsten Seite, wenn Sie das Skript nicht neu starten. Wenn ohne die nächste Taste auf einer Seite gehen bekomme ich einen Fehler und einSelenium IDE - StoreElementPresent - Element nicht gefunden

"Testfall fehlgeschlagen"

Befehle Ich verwende:

<tr> 
    <td>storeElementPresent</td> 
    <td>css=a._3a693.coreSpriteRightPaginationArrow</td> 
    <td>bool</td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>'${bool}' </td> 
    <td></td> 
</tr> 
<tr> 
    <td>gotoIf</td> 
    <td>'${bool}' == false</td> 
    <td>STARTSCRIPT</td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>css=a._3a693.coreSpriteRightPaginationArrow</td> 
    <td></td> 
</tr> 

Im Log Ergebnisse erhalte ich:

[info] Executing: | storeElementPresent | css=a._3a693.coreSpriteRightPaginationArrow | bool | 
[info] Executing: | echo : 'true' 
[info] Executing: | gotoIf | '${bool}' == false | STARTSCRIPT | 
[info] Executing: | clickAndWait | css=a._3a693.coreSpriteRightPaginationArrow | | 
[error] Element css=a._3a693.coreSpriteRightPaginationArrow not found 
[info] Test case failed 

Irgendwelche Ideen Leute?

Antwort

0

Es wird immer gleichen CSS selector.Go zu Browser und prüfen Schaltfläche „Weiter“, und kopieren Sie XPath dieses Elements eindeutig zu Ihrem Element zu identifizieren.

+0

sollte ich es zum Speichern verwenden? 'xpath = (// a [enthält (@href, '......')]) [2]' dies ist der eindeutige Pfad für die spezifische Seite, wie kann ich es für jede Seite generisch machen? –

+0

Die contain-Funktion hat die Fähigkeit, das Element mit unvollständigem Text zu finden. Wenn sich der Attributwert dynamisch ändert, findet Selen das Element und der Testfall schlägt fehl. – Naj

+0

ich gebe es eine Chance .. sollte ich die volle xpath Adresse trotzdem benutzen? –

1

... Wenn es verfügbar ist oder nicht. Wenn ja, klicken Sie darauf und gehen Sie zur nächsten Seite, wenn Sie das Skript nicht neu starten.

Für Firefox, können Sie die Flow Control für Selenium IDE für Firefox installieren und dann den GotoIf Befehl verwenden diese Entscheidung zu treffen. In Chrome hat der Kantu Selenium IDE for Chrome die Flusssteuerungsbefehle bereits eingebaut.

+0

arbeite ich die gotoIf bin mit ... Ich habe auch die Kantu Anwendung Dank für die Beratung heruntergeladen, aber ich glaube, ein Problem haben mit meiner HTML-Skript importieren ... Ich erhalte eine Fehlermeldung [Fehler] in m Parsen .html: fromHtml: fehlende baseUrl, aber ich kann nicht scheinen, den Befehl in Selen für Set Basis-uRL zu finden ... und auch nicht zu json mit Selen WebDriver exportieren kann, so könnte ich eine Anwendung Konvertieren von hTML schreiben mit dem gewünschten Format JSon aber Ich bin mir ziemlich sicher, es gibt einen einfacheren Weg - @Maurice –

Verwandte Themen