2017-12-18 24 views
0

최근 Mac을 Sierra에서 High Sierra로 업그레이드했습니다. 내가 그 작업 레일즈 응용 프로그램은 이제 오이 시험이 이상한 오류와 함께 실패합니다 :Rails app : @javascript 셀레늄 오이/카피 바라 테스트가 객체와 함께 실패 함 Undefined

이 가

이 예상 [객체 정의되지 않은이] 문자열 (셀레늄 :: WebDriver :: 오류 :: InvalidArgumentError를)로 정의되지 않은

내가 시도 이 테스트는 파이어 폭스 56.0.2 (업그레이드 전에 수 주일 동안 잘 돌아갔다)와 지금 57.0.1에서 실행된다.

이 오류는 웹의 여러 곳에서 언급되었지만 geckodriver의 이전 버전에서만 나타납니다. 버전 0.19.1을 실행 중입니다. 나는 할 수있는 최선의 방법으로 오래된 geckodriver 버전이 없다는 것을 확인했다.

카피 바라의 "fill_in"명령을 실행하려고하면 오류가 발생합니다. 원래 selenium_webdriver 3.4.4를 실행했지만 3.6.0 및 3.8.0 (최신 버전)을 시도했습니다.

혼란스러운 점은 내 officemates도 High Sierra로 업그레이드했고, 테스트 한 동일한 Firefox 버전을 실행하고, 셀렌 3.4.4를 사용하고, 동일한 geckodriver 버전을 사용한다는 것입니다. 그들의 테스트는 통과합니다. 그래서 누군가가 다른 설정/응용 프로그램이 내 컴퓨터와 내 officemates 다를 수있는이 프로세스에 참여할 것이라고 알고 있는지 궁금하네요. 모든 입력에 감사드립니다.

+0

나는 행동 변화없이 프로젝트에서 카피 바라 젬의 업데이트를 테스트했다. 나는 rvm을 위해 루비 버전 (2.1.10)을 제거하고 다시 설치했다. 모든 프로젝트에 대해 2.1.10 설치에 연결된 모든 보석 세트를 다시 작성했습니다. 마지막으로 카피 바라의 다른 버전을 사용하는 모든 웹 응용 프로그램에서 테스트를 수행했습니다. 모든 애플 리케이션은 위의 오류 메시지와 같은 방식으로 실패합니다. – Barry

답변

0

문제가 발견되었습니다./usr/local/bin에 geckodriver.sav라는 실행 파일이 있습니다. 그것은 geckodriver의 이전 버전이었습니다./usr/local/bin에는 homebrew cellar에 최신 geckodriver에 대한 링크가 있습니다. 셀렌 소스 코드를 보면, 실행 파일로 "geckodriver *"를 선택합니다. 분명히이 .sav 파일이 링크를 통해 선호되었습니다 (주문 파일을 기반으로 임의로 발견됨). .sav 파일을/usr/local/bin에서 옮겼습니다. 이제 테스트가 모두 끝납니다.

+0

셀 륨 드라이버가 geckodriver *를 입력으로 받아들이는 동작을보고했으며 이후이 동작을 수정했습니다. https://github.com/SeleniumHQ/selenium/issues/5240을 참조하십시오. – Barry