2015-01-26 7 views
18

Po stwierdzeniu, że jest to problem z Firefoksem 35, zainstalowałem 34 i uruchomiłem bundle exec rspec, a moje testy przebiegły idealnie. Ale gdy próbowałem uruchomić go ponownie, to jakoś otworzył nowszą wersję Firefoksa, jak pojawia się następujący błąd ponownie, gdy uruchomię mój zestaw testowy:Selenium :: WebDriver :: Błąd :: JavascriptError: argumenty [0] są niezdefiniowane

Selenium::WebDriver::Error::JavascriptError: arguments[0] is undefined 

Czy istnieje sposób, aby zagwarantować, że nie mam Firefoksa 35 zainstalowane, że Selen w jakiś sposób znajduje i otwiera? Wiem, że Firefox 34 jest wersją Firefoksa w moim katalogu Applications, ale nie jestem pewien, czy nie ma kopii repliki nowszego firefoxa, który jest chwytany przez Selenium przy użyciu launchy.

Odpowiedz

15

To jest known issue z aktualnym wydaniem selenu.

Jak @ janders223 wskazuje w komentarzu do another question, tymczasowe obejście dla projektu Ruby polega na użyciu wersji dev klejnotu selenium-webdriver.

Modyfikowanie Gemfile określić najnowszą wersję dev (jak to pisze):

gem 'selenium-webdriver', '>=2.45.0.dev3' 

Następnie uruchom bundle install.

+1

Idealnie! Dzięki Mike! – etusm

+1

Nie ma go już w dev, najnowsza wersja to '2.45.0', tylko' bundle update selenium-webdriver' –

7

Jest to niezwykle proste, ale odkryłem, że po zainstalowaniu Firefoksa 34 przez dmg listed here, ponieważ naiwnie po prostu przeciągnąłem i upuściłem ikonę Firefoksa do folderu Aplikacje klikając "Tak, chciałbym zastąpić Istniejąca aplikacja "Nie zapewniłem, że wszystkie nowsze pliki Firefoksa 35 nie były dostępne dla Selenium, z których skorzystała firma Selenium, nie wiedząc, która to wersja wybrała.

Po prostu odinstalowałem Firefoksa całkowicie z mojego komputera Mac poprzez przeciągnięcie go do Kosza, & ponownie zainstalowałem d3g Firefoksa 34.

N.B. Jeśli napotkasz ten problem, podczas pobierania Firefoksa 34, musisz przejść do Firefox> Preferencje> Zaawansowane, kliknąć zakładkę Aktualizuj i wybrać "Sprawdź aktualizacje, ale pozwól mi zdecydować, czy je zainstalować" lub "Nigdy nie sprawdzaj w celu aktualizacji "w celu uniemożliwienia Firefoksowi automatycznej aktualizacji do Firefoksa 35, a tym samym zakłócenia działania pakietu testów Selenium przy następnym uruchomieniu ich ponownie.

+3

Chociaż jest to poprawka, która tymczasowo rozwiązuje ten problem, nie zawsze możliwe jest obniżenie wersji Firefoksa. Najnowsza wersja selenu-webdrivera również rozwiąże ten problem, umożliwiając uruchomienie przeglądarki Firefox w wersji 35. 'gem 'selenium-webdriver', '2.45.0.dev3'' – janders223

Powiązane problemy