2012-11-06 7 views
0

웹 페이지 테스트를 수행하기 위해 Selenium Grid를 사용하고 있습니다. 셀레늄 허브 :Selenium Node에서 테스트를 수행 할 수 없습니다.

java -jar selenium-server-standalone-2.25.0.jar -role hub 

셀레늄 노드 :

java -jar selenium-server-standalone-2.25.0.jar -role node -hub http://192.168.55.209:4444/grid/register browser browserName=firefox,platform=WINDOWS 

그리고 노드가 성공적으로 허브에 등록되었습니다.

@Before 
public void setUp() throws Exception,MalformedURLException, IOException { 
    DesiredCapabilities browser = DesiredCapabilities.firefox(); 
    browser.setPlatform(Platform.WINDOWS); 
    try{ 
    driver=new RemoteWebDriver(new URL("http://192.168.55.209:4444/wd/hub"),browser); 
       } finally{ 
        if (driver != null) { 
           driver.quit(); 
        } 
       } 

을하지만 컴파일러에 도달하면 : 내가 사용 자바 코드에 대한 다음

driver.get(url); 

를 팔로우으로 나에게 오류 메시지를 제공하고, 내가 문제를 찾을 수 없습니다. 구성에서

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died. 
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 16:53:24' 
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_07' 
Driver info: driver.version: RemoteWebDriver 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:467) 
    at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:216) 
    at libraries.Globals.login(Globals.java:242) 
    at simple.SimplePolicy.simplePolicy(SimplePolicy.java:31) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) 
    at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47) 
    at org.junit.rules.RunRules.evaluate(RunRules.java:18) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: org.openqa.selenium.WebDriverException: Session ID may not be null 
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 16:53:24' 
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_07' 
Driver info: driver.version: RemoteWebDriver 
    at org.openqa.selenium.remote.HttpCommandExecutor$CommandInfo.get(HttpCommandExecutor.java:560) 
    at org.openqa.selenium.remote.HttpCommandExecutor$CommandInfo.getMethod(HttpCommandExecutor.java:544) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:281) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:446) 
    ... 30 more 
+0

안녕하세요? 브라우저를 닫거나 전선을 뽑으시겠습니까? –

+0

이 테스트를 실행 한 후에는 노드 머신에서 브라우저를 엽니 다. 그러나 그것은 곧 닫힙니다. 그리고 위의 오류 메시지를 제공합니다. –

+0

그 후에 프로세스가 메모리에 남아 있습니까? –

답변

0

, 당신은 browser browserName=firefox을 가지고 있지만, 당신은 browser 전에 기호 "-"을 잊고, 그래서해야한다 : -browser browserName=firefox은. 이것은 문제 일 수 있습니다. webdriver는 오류를 나타내지 않지만 특정 "firefox"은 실제 파이어 폭스 브라우저와 연관 될 수 없습니다.

+0

고마워,하지만 그 명령을 수정 한 후 "driver.get (url);"에 도달하면 여전히 나에게 같은 오류 메시지를 표시합니다 ~ 그리고 그것은 여전히 ​​다음과 같이 말합니다 : org.openqa.selenium.WebDriverException : 세션 ID가 null이 아니어야합니다 –

+0

왜 운전수를 그만 두었습니까? – Ioan

관련 문제