2013-03-12 3 views
0

저는 Java 및 C# Mono를 사용하여 Source Labs 홈페이지에서 Getting Started Examples을 실행하고 있습니다.Mono "Hello World"예제가 작동하지만 Java가 없습니다

모노 예를 마법처럼 작동하지만 자바 하나

Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

내가 해봤보고 재 작성과 같은 모노 예제와 유사하기 위해 자바 예 :

public class WebDriverTest { 

    private WebDriver driver; 

    @Before 
    public void setUp() throws Exception { 

     DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
     capabilities.setCapability("version", "10"); 
     capabilities.setCapability("platform", Platform.LINUX); 
     capabilities.setCapability("name", "Testing Selenium 2 with C# on Sauce"); 
     capabilities.setCapability("username", "banksysan"); 
     capabilities.setCapability("accessKey", "MY-APP-KEY"); 

     driver = new RemoteWebDriver(
       new URL("http://ondemand.saucelabs.com:80/wd/hub"), capabilities); 
    } 

    @Test 
    public void webDriver() throws Exception { 
     driver.get("http://www.amazon.com/"); 
     assertEquals("Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more", driver.getTitle()); 
    } 

    @After 
    public void tearDown() throws Exception { 
     driver.quit(); 
    } 

} 

다른 제안 사항이 있습니까?

감사

업데이트

나는 아래 로스에 의해 제안으로 tutorial에 설명 된대로 실행하려고했습니다,이 verbatum 다음은 다음 오류와 함께 종료 메이븐 발생합니다

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project sauce-labs-tutorial: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1] 

나는 소스 파일을 편집 했으므로 그냥 누락 된 package 선언을 추가했습니다. 그러나 이것을 추가해도 아무런 차이가 없습니다.

업데이트 2

전체 메이븐 스택 추적 :

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Forking command line: /bin/sh -c cd /home/david/Documents/development/sauceLabs/java/sauce-labs-tutorial && /usr/java/jdk1.7.0_11/jre/bin/java -jar /home/david/Documents/development/sauceLabs/java/sauce-labs-tutorial/target/surefire/surefirebooter5443687714708881867.jar /home/david/Documents/development/sauceLabs/java/sauce-labs-tutorial/target/surefire/surefire4108475136019888668tmp /home/david/Documents/development/sauceLabs/java/sauce-labs-tutorial/target/surefire/surefire_08561306448128018862tmp 
Running TestSuite 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3:16.389s 
[INFO] Finished at: Wed Mar 13 20:17:58 GMT 2013 
[INFO] Final Memory: 10M/213M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test (default-test) on project sauce-labs-tutorial: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test failed: There was an error in the forked process 
[ERROR] java.lang.NullPointerException 
[ERROR] at dave.WebDriverWithHelperTest.getSessionId(WebDriverWithHelperTest.java:78) 
[ERROR] at com.saucelabs.testng.SauceOnDemandTestListener.markJobAsFailed(SauceOnDemandTestListener.java:103) 
[ERROR] at com.saucelabs.testng.SauceOnDemandTestListener.onTestFailure(SauceOnDemandTestListener.java:97) 
[ERROR] at org.testng.internal.Invoker.runTestListeners(Invoker.java:1895) 
[ERROR] at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879) 
[ERROR] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1292) 
[ERROR] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
[ERROR] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
[ERROR] at org.testng.TestRunner.privateRun(TestRunner.java:767) 
[ERROR] at org.testng.TestRunner.run(TestRunner.java:617) 
[ERROR] at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
[ERROR] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
[ERROR] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
[ERROR] at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
[ERROR] at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
[ERROR] at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
[ERROR] at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
[ERROR] at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
[ERROR] at org.testng.TestNG.run(TestNG.java:1031) 
[ERROR] at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) 
[ERROR] at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:189) 
[ERROR] at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:105) 
[ERROR] at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:117) 
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[ERROR] at java.lang.reflect.Method.invoke(Method.java:601) 
[ERROR] at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) 
[ERROR] at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) 
[ERROR] at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) 
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) 
[ERROR] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test (default-test) on project sauce-labs-tutorial: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test failed: There was an error in the forked process 
java.lang.NullPointerException 
    at dave.WebDriverWithHelperTest.getSessionId(WebDriverWithHelperTest.java:78) 
    at com.saucelabs.testng.SauceOnDemandTestListener.markJobAsFailed(SauceOnDemandTestListener.java:103) 
    at com.saucelabs.testng.SauceOnDemandTestListener.onTestFailure(SauceOnDemandTestListener.java:97) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1895) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1292) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    at org.testng.TestRunner.privateRun(TestRunner.java:767) 
    at org.testng.TestRunner.run(TestRunner.java:617) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:189) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:105) 
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:117) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) 

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test failed: There was an error in the forked process 
java.lang.NullPointerException 
    at dave.WebDriverWithHelperTest.getSessionId(WebDriverWithHelperTest.java:78) 
    at com.saucelabs.testng.SauceOnDemandTestListener.markJobAsFailed(SauceOnDemandTestListener.java:103) 
    at com.saucelabs.testng.SauceOnDemandTestListener.onTestFailure(SauceOnDemandTestListener.java:97) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1895) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1292) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    at org.testng.TestRunner.privateRun(TestRunner.java:767) 
    at org.testng.TestRunner.run(TestRunner.java:617) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:189) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:105) 
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:117) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) 

    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    ... 19 more 
Caused by: java.lang.RuntimeException: There was an error in the forked process 
java.lang.NullPointerException 
    at dave.WebDriverWithHelperTest.getSessionId(WebDriverWithHelperTest.java:78) 
    at com.saucelabs.testng.SauceOnDemandTestListener.markJobAsFailed(SauceOnDemandTestListener.java:103) 
    at com.saucelabs.testng.SauceOnDemandTestListener.onTestFailure(SauceOnDemandTestListener.java:97) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1895) 
    at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1292) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    at org.testng.TestRunner.privateRun(TestRunner.java:767) 
    at org.testng.TestRunner.run(TestRunner.java:617) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:189) 
    at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:105) 
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:117) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) 

    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:475) 
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:349) 
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:152) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:806) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:701) 
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:629) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    ... 20 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

이 Browsong는 확실한처럼 보이는 WWW이 가능한 원인으로 발견되었습니다. POM의 버전을 업그레이드했지만 문제는 계속 발생합니다.

+1

셀렌 그리드 및 노드를 실행 중이십니까? 허브에 제대로 등록 된 노드입니까? –

+0

@ alexxp03 그리드가 실행되고 있지 않습니다 ... 홈 페이지의 Hell World 앱에서 전혀 언급되지 않았습니다. – BanksySan

+0

아, 미안 내가 설정이 어땠는지 오해했다. –

답변

0

는 다음과 같은 코드를 사용하여 RemoteWebDriver 인스턴스를 만들 시도 할 수

driver = new RemoteWebDriver(
      new URL("http://banksysan:[email protected]:80/wd/hub"), capabilities); 

우리는 또한 자바는 너무 도움이 될 소스 연구소와 함께 작동하도록 테스트를 얻기에 more in-depth tutorial을 만들었습니다.


업데이트 : 생성 된 근본적인 오류가 차례로 ondemand.saucelabs.com에 대한 아웃 바운드 요청을 차단 된 프록시 서버 때문

org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '2.31.0', revision: '1bd294d185a80fa4206dfeab80ba773c04ac33c0', time: '2013-02-27 13:51:26' 
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.5.0-25-generic', java.version: '1.7.0_11' 
Driver info: driver.version: RemoteWebDriver 

했다. Java 시스템 특성을 지정하여 프록시 정보를 포함

는 예를 들어, 문제를 해결.

System.setProperty("http.proxyHost", proxyHost);    
System.setProperty("http.proxyPort", proxyPort)    
System.setProperty("http.proxyUser", userName);    
System.setProperty("http.proxyPassword", password); 
+0

안녕하세요, 저는 원래 RemoteWebDriver를 여는 방법을 시도합니다. 사실 그것은 예제에서 주어진 방법이지만 여전히 연결되지는 않습니다. 오늘은 자세한 자습서를 살펴 보겠습니다. 감사. – BanksySan

+0

안녕하세요 로스, 방금 제안한 내용을 시도했지만, Maven은이 오류로 종료합니다. '목표 org.apache.maven.plugins : maven-surefire-plugin : 2.12를 실행하지 못했습니다.4 : 프로젝트 소스 - 랩 - 튜토리얼 : 목표 org.apache.maven.plugins의 실행 디폴트 테스트 : maven-surefire-plugin : 2.12.4 : 테스트 실패 : 포크 된 VM이 제대로 말하지 않고 종료되었습니다. 안녕. VM 크래시 또는 System.exit가 호출됩니까? -> [도움말 1]'. 질문을 업데이트했지만 더 이상 제안 사항이 있습니까? 건배. – BanksySan

+0

안녕하세요, 드라이버 인스턴스가 null이고 코드가 null 드라이버 (오류가있는 클래스는 Sauce TestNG 도우미 라이브러리를 사용하여 Sauce REST를 호출하는 방법을 보여주는 WebDriverWithHelperTest입니다. 테스트의 일부인 API). 드라이버가 null 일 수있는 이유 *를 나타내는 추가 스택 추적이있는 testng 출력 파일이 있습니까? –