2012-05-23 10 views
5

Używam selenu webdriver (php-webdriver-bindingi rozszerzenie Yii) i próbuję uzyskać browser sessionId (ten, którego test będzie używał). Myślałem, że mogę to zrobić przez webdrivera, ale tak się nie dzieje. Webdriver ma identyfikator sessionId, ale nie jest to ten, którego używa przeglądarka testowa.Jak uzyskać przeglądarkę sessionId przy użyciu Selenium webdriver

Próbuję zalogować się przed uruchomieniem testu, aby umożliwić moim testom uwierzytelnienie użytkownika, który pozwoli im uzyskać dostęp do stron, które testuję.

Badam i testuję to od kilku dni, a ja nie mam pojęcia. Każda pomoc będzie bardzo ceniona.

Dzięki.

+0

Klasa RemoteWebDriver ma metodę getSessionId(), ale jestem pewien, że to nie jest to, czego szukasz. Próbowałem zrobić czysty projekt WebDriver i zauważyłem, że WebDriver nie ma tej metody. Nie jestem pewien, co to jest "metoda WebDriver" ... – djangofan

+0

Nie jestem w 100% zrozumiały, czego potrzebujesz w oparciu o twoje pytanie, ale metoda .hashCode() pokazuje unikalny kod skrótu Webdrivera, i pasuje do moich potrzeb. – gorbysbm

Odpowiedz

0

miałem tego problemu w Javie, ale po bliższej analizie kodu źródłowego, zauważył, że kierowca używałem została instancja jako WebDriver obiektu. Po zmianie go na obiekt RemoteWebDriver, metoda .getSessionId() została ujawniona, a driver.getSessionId() zwrócił identyfikator sesji zgodnie z oczekiwaniami.

Nie jestem pewien, jak to by przetłumaczyć na PHP, ale polecam powrót i sprawdzenie, czy Twój sterownik to obiekt RemoteWebDriver, a nie obiekt WebDriver.

Powiązane problemy