2013-12-13 7 views
27

Ich versuche einige Selen-Tests mit Sauce Labs auf unserem Staging-Server einzurichten. Es ist hinter einer grundlegenden http Auth, so theoretisch könnte ich die Selen URL auf http://user:[email protected] setzen. Jedoch enthält das Kennwort ein "@", das alle möglichen Probleme verursacht, wie Sie sich vorstellen können. Ich versuchte, es mit einem Backslash zu entkommen, aber das tat nichts von dem, was ich sagen kann.HTTP-Basis-Authentifizierungs-URL mit "@" im Passwort

So

  1. gibt es eine alternative Art und Weise http-Authentifizierung mit Selen zu tun, das heißt, nicht über die URL. Oder,

  2. Gibt es eine Möglichkeit, URL-basierte Authentifizierung zu verwenden, aber irgendwie dem Browser mitzuteilen, dass das "@" Teil des Passworts ist?

+1

Haben Sie versucht, das '@' Zeichen (in '% 40') in den Passwort-Teil der URL zu verschlüsseln? – admdrew

+0

Auch denke ich * Selenium kann immer noch Standard-HTTP-Auth-Dialoge verarbeiten; Vielleicht versuchen Sie einfach, einen Eintrag zu machen und zu sehen, was Sie über die Eingabeaufforderung erhalten. – admdrew

+1

URL Encoding hat den Trick gemacht (musste es auch für ein "?" Tun). Danke, Mann! Gehen Sie voran und schreiben Sie eine Antwort, wenn Sie wollen und ich werde akzeptieren. – jraede

Antwort

27

Sie müssen nur Sonderzeichen wie das kodieren, bevor sie als Teil der URL übergeben, so würde @ müssen als %40 weitergegeben werden usw.

(I verwenden in der Regel diese - http://meyerweb.com/eric/tools/dencoder/ - für meine en/decoding Bedürfnisse.)

+1

Ja, ich habe diese Seite favorisiert. Danke noch einmal. – jraede

+0

Nein, Problem! – admdrew