2013-12-13 21 views
27

Próbuję skonfigurować testy selenu na naszym serwerze testowym przy użyciu Sauce Labs. To jest za podstawowym http auth, więc teoretycznie mógłbym ustawić adres URL selenu do http://user:[email protected]. Jednakże, hasło zawiera znak "@", powodując najróżniejsze problemy, jakie możesz sobie wyobrazić. Próbowałem uciekać od tego z odwrotnym ukośnikiem, ale to nie miało nic wspólnego z tym, co potrafię powiedzieć.Adres URL uwierzytelniania podstawowego HTTP z "@" w haśle

Więc

  1. istnieje alternatywny sposób zrobić http uwierzytelniania przy użyciu selen, to znaczy nie za pośrednictwem adresu URL. Lub,

  2. czy istnieje sposób korzystania z uwierzytelniania opartego na adresie URL, ale jakoś powiedzieć przeglądarce, że "@" jest częścią hasła?

+1

Czy próbowałeś zakodować znak '@ '(do'% 40') w części hasła adresu URL? – admdrew

+0

Również, myślę, że * Selen może nadal obsługiwać standardowe okna dialogowe uwierzytelniania HTTP; może po prostu spróbuj zrobić rekord i zobaczyć, co się loguje za pomocą zachęty. – admdrew

+1

Kodowanie URL działało (musiałem to zrobić także dla "?"). Dzięki! Śmiało i napisz odpowiedź, jeśli chcesz, a zaakceptuję. – jraede

Odpowiedz

27

Wystarczy zakodować znaków specjalnych, takich jak, że przed przekazaniem ich jako część adresu URL, więc @ musiałyby być przekazywane jako %40 itp

(I zazwyczaj to wykorzystać - http://meyerweb.com/eric/tools/dencoder/ - dla moje potrzeby związane z dekodowaniem.)

+1

Tak, mam tę stronę ulubioną. Dzięki jeszcze raz. – jraede

+0

Nie ma problemu! – admdrew