2013-11-01 12 views
1

이 주제가 다른 게시물에서 다루어지고 있지만 2 일과 같은 해결책을 찾고있어 얻을 수 없다면 먼저 사과드립니다. 그것. 내가 chromedriver이 위치한 경로를 추가 한 속성Selenium 서버를 시작하기 위해 selenium-maven-plugin을 사용하여 크롬 드라이버를 시작하는 방법

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>selenium-maven-plugin</artifactId> 
    <version>2.3</version> 
    <executions> 
     <execution> 
      <id>start</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start-server</goal> 
      </goals> 
      <configuration> 
       <background>true</background> 
       <debug>true</debug> 
       <systemProperties> 
        <webdriver.chrome.driver>${webdriver.chrome}</webdriver.chrome.driver> 
       </systemProperties> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

그들 :

내가 셀레늄 받는다는 - 플러그인을 사용 할말을 테잎에 내 POM에 새 프로파일을 추가했습니다. 그 webdriver.chrome을 반환, System.setProperty("webdriver.chrome.driver", "/Users/support/Desktop/Google Chrome.app/Contents/MacOS/chromedriver.exe"); :

org.openqa.selenium.WebDriverException: org.openqa.selenium.net.UrlChecker.waitUntilAvailable(Ljava/net/URL;JLjava/util/concurrent/TimeUnit;)V 
Command duration or timeout: 434 milliseconds 
Build info: version: '2.31.0', revision: '1bd294d185a80fa4206dfeab80ba773c04ac33c0', time: '2013-02-27 13:51:26' 
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.5', java.version: '1.6.0_51' 
Driver info: org.openqa.selenium.remote.RemoteWebDriver 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115) 
    at com.qa.framework.drivers.multidevice.webdriver.MultiDeviceWebDriver.setWebDriver(MultiDeviceWebDriver.java:191) 
    at com.qa.framework.drivers.web.WebDriver.launchBrowser(WebDriver.java:249) 
    at com.qa.games.tests.BaseTest.beforeTestCase(BaseTest.java:38) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) 
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:551) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213) 
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:640) 
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
    at java.lang.Thread.run(Thread.java:680) 
Caused by: java.lang.NoSuchMethodError: org.openqa.selenium.net.UrlChecker.waitUntilAvailable(Ljava/net/URL;JLjava/util/concurrent/TimeUnit;)V 
    at org.openqa.selenium.chrome.ChromeDriverService.start(ChromeDriverService.java:150) 
    at org.openqa.selenium.chrome.ChromeCommandExecutor.execute(ChromeCommandExecutor.java:48) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:432) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:140) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:95) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructor(DefaultDriverFactory.java:58) 
    at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:52) 
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:197) 
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:184) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:151) 
    ... 3 more 

만약 대신 내가 코드를 추가 거기 webdriver의 위치를 ​​나타냅니다 : 나는 MVN 깨끗한 설치 실행하면

, 나는 다음과 같은 오류가 발생합니다. 드라이버 속성이 정의되지 않았습니다.

같은 오류를 반환하는 것처럼 마찬가지로 mvn clean install -Dwebdriver.chrome.driver="path/chromedriver"을 실행 해 보았습니다.

크롬 드라이버를 .exe와 .exe없이 다른 경로로 설정해 보았습니다.

나는 셀레늄이 내 테스트를 실행하면 다음 명령 줄을 통해 시작할 수 있기 때문에 이것이 어떤 해결책도 없다고 생각하기 시작했다. java -jar /path/selenium-server-standalone-2.37.0.jar -Dwebdriver.chrome.driver=/path/chromedriver", my 테스트가 진행 중입니다. 셀레늄이 실행 중이거나 테스트를 실행하지 않는 경우 보류하고 싶지 않지만 가능한 것은 아닙니다.

당신이 누군가 저를 도울 수 있으면 많은 것을 감사 드리겠습니다.

+0

작동하도록 만들었습니까? 어떻게? –

답변