Wie wechsle ich zum Popup für die Fensterauthentifizierung und trage die Zugangsdaten ein?

8

Nach dem Öffnen der Anwendungs-URL wird der Benutzer zur Anmeldeseite weitergeleitet, auf der sich eine Anmeldeschaltfläche befindet.

%Vor%

Wenn der Benutzer nun auf die Schaltfläche "Anmelden" klickt, wird die URL im selben Fenster wie bei xyz.com geändert und zeigt ein Authentifizierungs-Popup-Fenster für den Anmeldevorgang an, ähnlich wie unten abgebildet.

Um Benutzername und Passwort im Authentifizierungsfenster einzugeben, habe ich den folgenden Code ausprobiert

%Vor%

Es hat nicht funktioniert. Dann habe ich versucht, Windows-Authentifizierung Popup direkt zu öffnen (durch Kopieren der URL nach dem Klick auf die Schaltfläche Anmelden) mit dem obigen Code, es funktioniert

%Vor%

Ich bin ein bisschen verwirrt. Wenn ich die URL meiner App abc.com öffne, klicke auf die Schaltfläche Anmelden, benutze autoit, es wurden keine Zugangsdaten eingegeben. Aber wenn ich direkt die Fenster-Authentifizierungs-URL xyz.com anstelle von app URL abc.com sende und autoit verwende, funktioniert es.

Kann jemand vorschlagen, was ich hier vermisse? Ich habe auch versucht, das Fenster zu wechseln, nachdem ich auf die Schaltfläche "Anmelden" geklickt habe, die neue URL und dann den Autoit-Befehl denkend, aber es hat trotzdem nicht funktioniert.

%Vor%

Irgendeine Idee dazu?

Hinweis: Mir ist aufgefallen, dass ich auf "Anmelden" klicke, Fenster wird unendlich geladen & amp; Der Cursor ist aktiv auf Benutzername Textfeld der Windows-Authentifizierung poup. Auch wenn das Windows-Authentifizierungsfenster erscheint, funktioniert weder der selenium-Befehl noch der autoit-Befehl.

    
Shoaib Akhtar 16.02.2018, 09:29
quelle

7 Antworten

1

Der Dialog wird von Selen als Alarm behandelt. In c # sieht der Code zum Eingeben der Anmeldeinformationen für einen Firefox-Test folgendermaßen aus:

%Vor%

Die erste Zeile weist den Treiber an, nach offenen Alarmen zu suchen (das Dialogfeld).

Die zweite Zeile sendet den Benutzernamen und das Passwort an die Warnung

Die dritte Zeile sendet dann diese Anmeldeinformationen und, vorausgesetzt, sie sind gültig, wird der Test fortgesetzt.

Angenommen, Sie testen mit Firefox, müssen Sie keine zusätzlichen Frameworks verwenden, um mit dieser Authentifizierungsbox umzugehen.

    
Rescis 27.02.2018 21:16
quelle
0

Offenbar müssen Sie nur die URL mit den grundlegenden Authentifizierungsdaten öffnen. Können Sie das zuerst versuchen?

%Vor%

Wenn Sie immer noch das Popup erhalten, versuchen Sie dies

%Vor%

Es sollte das Popup

stoppen     
Aldo Suwandi 27.02.2018 14:37
quelle
0

Stimme Aldos Antwort zu. Versuchen Sie es mit https anstelle von http like:

%Vor%

Sie können nach anderen Möglichkeiten suchen hier

    
Chanda Korat 28.02.2018 10:08
quelle
0

Sie müssen zu der Warnung wechseln, die sich von einem Fenster unterscheidet. Sobald die Warnung vorhanden ist, wechseln Sie die Warnmeldung, und verwenden Sie dann die .authenticate -Methode, um ihr den Benutzernamen und das Kennwort zu geben.

%Vor%

Vielleicht möchten Sie auf die Bedingung EC.alert_is_present expected warten, um sicherzustellen, dass die Warnung vorhanden ist.

    
sytech 06.03.2018 01:26
quelle
-1

Probieren Sie dies aus (wobei page_title der Titel des Popup-Fensters ist und Sie sich auf einem Windows-Rechner befinden):

%Vor%

Ein Beispiel für die Einrichtung von AutoIt mit Python finden Sie hier: Aufruf von AutoIt-Funktionen in Python

    
Chuk Ultima 16.02.2018 09:40
quelle
-1

Mit Firefox ist es möglich, das Authentifizierungs-Popup zu vermeiden, indem die Anmeldeinformationen bei Anforderung automatisch bereitgestellt werden.

Sie müssen Code auf Browserebene einspeisen und ausführen, um den Authentifizierungsversuch zu erkennen und die Anmeldeinformationen festzulegen.

Hier ist ein funktionierendes Beispiel:

%Vor%     
Florent B. 28.02.2018 14:26
quelle
-1

In diesem Stadium ist es nicht der Browser, den Sie automatisieren. Sie automatisieren die Tastatur .

%Vor%

Verbessere die Schlafzeiten durch Treffer und Fehlschläge.

Hinweis: Möglicherweise müssen Sie dazu Threading verwenden.

Zu Ihrer Information, hier ist ein aktuelles Beispiel, das für mich funktioniert hat. Tweak herum, um es schneller zu machen. Ich wollte nur testen, ob das funktioniert, aber langsam.

%Vor%

Beachte auch: Wenn du auf ubuntu bist, benötigt keyboard root-Berechtigung, also führe das Skript so aus -

%Vor%     
Sahil Agarwal 05.03.2018 11:10
quelle

Tags und Links