Po uruchomieniu testów, pomimo iż są poprawnie przekopiowane z kursu (wraz z niezbędnymi importami i ustawieniami chromediver
) występuje błąd:
Error Traceback (most recent call last): File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 59, in testPartExecutor yield File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 605, in run testMethod() File "C:\Users\jaktestowac\PycharmProjects\demo_tests\auto_test_2.py", line 42, in test_display_error_message_when_user_submit_less_than_8_signs_id login_form_input_element.send_keys(login_text) File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 352, in send_keys 'value': keys_to_typing(value)}) File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 501, in _execute return self._parent.execute(command, params) File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute self.error_handler.check_response(response) File "C:\Users\jaktestowac\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value' (Session info: chrome=66.0.3359.181) (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.16299 x86_64) Ran 6 tests in 15.141s FAILED (errors=3)
Co może być przyczyną?
tldr; uaktualnij chromedriver
Dlaczego to może być rozwiązanie:
Patrząc na traceback widać, że pojawia się w ostatnich liniach odniesienie do webdriver
.
Na samym końcu mamy informację o wersji przeglądarki i chromedriver
. Wejdźmy więc na oficjalną stronę http://chromedriver.chromium.org/downloads do pobierania chromedriver
i odnajdźmy naszą wersję zaobserwowaną w traceback: chromedriver=2.32.498550
.
Jak widać na dzień dzisiejszy (22/05/2018) nie ma ona nawet przypisanej wspieranej wersji przeglądarki, dopiero kolejna nowsza posiada wsparcie:
ChromeDriver 2.33
Supports Chrome v60-62
Ale i tak marny ten support bo jak widzimy w traceback nasza wersja przeglądarki to chrome=66.0.3359.18
Czyli nie ma co się patyczkować i uaktualniamy przeglądarkę na maxa oraz ściągamy najnowszego chromedrivera
opisane jest to tutaj https://jaktestowac.pl/lesson/pt1-mk1-02-przygotowanie-srodowiska/#Instalacja_Driver_dla_Selenium
Jeśli system nie pozwoli Ci go podmienić – zobacz rozwiązanie do tego pytania: https://jaktestowac.pl/question/problem-z-podmiana-uaktualnieniem-chromedrvier/