我是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();
}
}
答案 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