无法初始化类org.openqa.selenium.os.Kernel32

时间:2015-07-01 10:57:33

标签: selenium-grid2

我是Selenium网格的新手。我的集线器和节点正在运行。我尝试了一个测试,以便在节点中自动化。但我收到错误“无法初始化类org.openqa.selenium.os.Kernel32”。我无法在任何地方找到解决方案。请帮忙

我的代码是:

import org.testng.Assert;    
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URL;
import java.net.MalformedURLException;

public class TestGrid {
    WebDriver driver;
    String baseURL, nodeURL;

@BeforeTest
public void setup() throws MalformedURLException{
    baseURL = "http://newtours.demoaut.com/";
    nodeURL = "http://192.168.0.6:5566/wd/hub";
    DesiredCapabilities capability = DesiredCapabilities.firefox();
    capability.setBrowserName("firefox");
    capability.setPlatform(Platform.WIN8);
    driver = new RemoteWebDriver(new URL(nodeURL), capability);
}

@Test
public void verifyTitle() {

   String actualTitle = driver.getTitle();
   String expectedTitle = "Welcome: Mercury Tours";
   Assert.assertEquals(actualTitle, expectedTitle);

}

@AfterTest
public void closeSetup(){
   driver.quit();
}
}

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。并且经常出现另一条错误消息。

org.openqa.selenium.WebDriverException:在资源路径中找不到本机库(com / sun / jna / windows-x86-64 / jnidispatch.dll)([file:/ C:/ Users / admin / work / Selenium -batch-文件/窗/硒 - 服务器 - 独立-2.47.1.jar])

要解决此问题,我使用jnidispatch.dll以正确的路径手动创建selenium独立jar文件。

以下步骤。

1)使用7-zip解压缩selenium-server-standalone-2.47.1.jar。然后找出" jnidispatch.dll"确实存在,但没有/ com / sun / jna / windows-x86-64 /目录。

2)创建一个目录... / com / sun / jna / windows-x86-64 /并复制" jnidispatch.dll"在。 3)创建jar文件。

" C:\ Program Files \ Java \ jdk1.8.0_45 \ bin \ jar.exe" cf yournewselenium.jar *

注意:您需要处于解压缩文件夹中。

4)要运行runSeleniumHub.bat和runSeleniumNode.bat,仍然会抱怨"没有清单属性"。要解决此问题,请更改文件

自:

调用java -jar selenium-server-standalone-2.47.1.jar -role hub

要:

调用java -cp yournewselenium.jar org.openqa.grid.selenium.GridLauncher -role hub

在runSeleniumNode.batch

自:

调用java -Dos.name = windows -Dwebdriver.chrome.driver = chromedriver.exe -Dwebdriver.ie.driver = IEDriverServer.exe -jar selenium-server-standalone-2.47.1.jar -role node -hub { {3}} -browser" browserName = internet explorer,version = 11,platform = WINDOWS" -browser" browserName = chrome,platform = WINDOWS" -browser" browserName = firefox,platform = WINDOWS"

要:

调用java -Dos.name = windows -Dwebdriver.chrome.driver = chromedriver.exe -Dwebdriver.ie.driver = IEDriverServer.exe -cp yournewselenium.jar org.openqa.grid.selenium.GridLauncher -role node -hub http://localhost:4444/grid/register -browser" browserName = internet explorer,version = 11,platform = WINDOWS" -browser" browserName = chrome,platform = WINDOWS" -browser" browserName = firefox,platform = WINDOWS"

经过上述更改后,问题得以解决。错误消息不再出现。

答案 1 :(得分:1)

不要使用参数

  

os.name,os.arch,os.version

运行命令时

java -jar selenium-server-standalone-xxx.jar

(在Windows 10上测试了解决方案)

答案 2 :(得分:0)

我遇到了同样的问题。使用正确的URL后,我的问题就消失了。

您应该尝试使用:http://www.yoursite.com

另请看这里:https://stackoverflow.com/a/22149459/4921776