2014-04-01 1 views
2

를 시작할 수 없습니다 - (전용이 버전) 셀레늄 2.41셀레늄 2.41 - 나는 파이어 폭스를 실행 할 수없는 나는 파이어 폭스

이 내가 호출하는 방법입니다 함께 ..

WebDriver d = new FirefoxDriver(); 
d.get("https://www.google.com"); 

예외 아래 점점 ..

java.lang.NoSuchMethodError: org.openqa.selenium.Proxy.extractFrom(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/Proxy; 
at org.openqa.selenium.firefox.FirefoxDriver.dropCapabilities(FirefoxDriver.java:313) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:192) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95) 
at com.qglobal.automation.utility.convertt.main(convertt.java:103) 

어떤 아이디어 ??

편집이

난 그냥 내가 selendroid - 독립-0.8.0-와-dependencies.jar 관련 더라면 그런 일이 있음을 발견 (나는 안드로이드에 내 테스트를 실행이 필요합니다). 이 항아리를 제거하면 위의 예외가 발생하지 않습니다.

내 테스트에는 항아리가 둘 다 있습니까? 어떤 생각?

(문제는 파이어 폭스에서 발견된다. 크롬은 잘 작동합니다.) 당신이 당신의 자바 프로그램을 실행 할 때 셀레늄의 JAR이 클래스 경로에 있는지 여부를

답변

1

(기능이없는 한 당신이 v2.41에서 찾고 특히이다) 차이를 만들지 않습니다.

나는 (안드로이드 장치에서 테스트를 실행하는 데 사용되는) 테스트와 연관된 selendroid jar도 가지고있었습니다. classpath에있는 항아리의 순서 때문에 selendroid jar가 문제를 일으켰습니다. 내가 순서를 변경했을 때 (셀레늄 항아리, 다음 셀렌 드로이드), 오류가 사라졌다.

고맙습니다.

+1

저는 사람들이 왜이 대답에 문제가 있는지 이해하지 못합니다. 문제를 설명하고 문제를 해결하는 방법을 설명하며 질문 자체의 포스터에서 비롯되므로 명확하게 적용 할 수 있습니다. –

2
  • 확인합니다. NoSuchMethod 오류는 클래스 경로에 문제가 있음을 의미 할 수 있습니다.
  • 드라이버 2.41을 사용하는 것이 중요하지 않은 경우 낮은 버전으로 다운 그레이드하십시오. 내 경험에 의하면이 문제가 해결
3

Maven을 사용하여 직접이 문제가 발생했습니다. 핵심 문제는 2.41+에서 파이어 폭스 드라이버가 사용하는 Proxy.java 클래스에 이전 버전에는없는 새로운 메소드 인 extractFrom이 있다는 것입니다. 일부 타사 드라이버에 대한 종속성으로 인해 Proxy.java가 포함 된 이전 버전의 selenium-api 패키지가 강제 실행되었습니다.

selenium-api에 대한 제 3 자 종속성에 예외를 추가하거나 종속성 목록에 selenium-api를 명시 적으로 추가하고 버전 2.41에서 지정해야합니다.

3

jiffy에서 동일한 문제에 대한 해결책을 얻을만큼 충분히 행운이었습니다. "vlns"및 "user1825477"의 대답을 통해 pom.xml 파일에서 selenium-api의 버전을 확인한 결과 실제로 2.40에서 2.41로 변경되었습니다. 모든 외부 jar 및 Maven 종속성을 제거하고 pom 파일을 Maven Build로 다시 실행했습니다. 일단 모든 Maven 의존성이 포함되면 jar 파일을 개별적으로 다시 추가합니다. 정확한 버전을 확인합니다. 교차 확인은 기본적으로 모든 jar의 최신 버전을 가져 왔습니다. 그들.

항아리를 올바르게 선택하는 데 소량의 시간을 보내는 것이 좋습니다.

0

다음을 pom에 추가하십시오.xml이 나를 위해 문제를 해결했습니다.

<dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-firefox-driver</artifactId> 
     <version>2.47.1</version> 
    </dependency> 
관련 문제