2012-11-06 65 views
0

我使用Selenium Grid進行網頁測試。 硒樞紐:無法對Selenium節點進行測試

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 

和節點在集線器成功註冊。 對於我作爲Java代碼如下:

@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」不能與真正的Firefox瀏覽器關聯。

+0

謝謝,但是當我糾正那個命令後,當它到達「driver.get(url);」時,它仍然給我同樣的錯誤信息〜它仍然說引起了:org.openqa.selenium.WebDriverException:會話ID可能不能爲空 –

+0

爲什麼你在創建他之後立即戒菸? – Ioan

相關問題