2016-11-22 7 views
0

Ich möchte einen automatisierten Test mit Selen mit Chromedriver und Behat schreiben.Selenium Chromedriver Aufruf zur Abmeldeseite funktioniert nicht

Dieses Szenario sollte auf eine Seite gehen, einen Benutzer registrieren, sich abmelden und einen anderen Benutzer registrieren.

Jetzt ist das Problem, auf der fraglichen Website, nach der Registrierung bekommen Sie ein lästiges Overlay, so dass der Logout-Button nicht mehr erreichbar ist. Ich kann entweder das Overlay ausfüllen und es richtig ausfüllen, was viel mehr Aufwand erfordert, oder ich versuche mich auf andere Weise auszuloggen.

Meine Idee war, einfach wieder zu der Domäne zu gehen mit /? Event = logout hinzugefügt, die normalerweise funktioniert, um den aktuellen Benutzer abzumelden. Jedoch, wenn ich dies in der Automatisierung mache, scheitert es anscheinend wegen eines schlechten HTTP-Response-Codes.

Ist es nicht möglich, eine URL wie diese mit Selen zu verwenden? Jeder hat eine Idee?

+0

Wie Sie die URL mit Selen verwenden Sie ? Wenn Sie manuell arbeiten, funktioniert es wie ich es verstehe - verwenden Sie das gleiche Chrome-Profil mit ChromeDriver? – Moshisho

+0

Das Problem scheint jetzt zu sein, dass ich www.website.com/?event=logout rufe, aber der Test öffnet www.website.com/?event=logout/, mit dem Schrägstrich am Ende, was zu einer Fehlerseite führt . Ich bin mir nicht sicher, ob ich das irgendwie vermeiden kann. –

+0

Können Sie einen Fehler für die Abmeldung hinzufügen? – lauda

Antwort

0

Einige Optionen wären:

  1. Navigieren zu URL und abzumelden versuchen, die modal über jQuery/Javascript

  2. Nach der Registrierung navigate verstecken zur Startseite und sehen, ob das modal ist und wenn Sie können abmelden, wie Sie

  3. löschen Sitzung und auf die Seite navigieren, sollten Sie benötigen

Wählen Sie eine von ihnen.

0

Sie können dies mit Selenium erreichen, indem Sie eine Site verwenden, die GET-Anforderungen stellt. Sie können also zur URL http://requestmaker.com/ gehen, die Webadresse www.website.com in der Anfrage-URL eingeben und "event = logout" in den Daten anfordern, dann klicken Sie auf "Senden".

Es ist ein bisschen hacky, also würde ich es vorziehen, eine GET-Anfrage direkt im Code verwenden, abhängig von Ihrer Programmiersprache ... So etwas wie so:

https://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/

Verwandte Themen