无法初始化 class org.openqa.selenium.os.Kernel32
Could not initialize class org.openqa.selenium.os.Kernel32
我是 Selenium 网格的新手。我的集线器和节点是运行。我尝试了一个在节点中自动化的测试。但是我收到错误 "Could not initialize class 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();
}
}
我遇到了同样的问题。使用正确的URL后,我的问题消失了。
你应该试试:http://www.yoursite.com
也可以看看这里:
我遇到了同样的问题。并且经常出现另一个错误消息。
org.openqa.selenium.WebDriverException: 在资源路径中找不到本机库 (com/sun/jna/windows-x86-64/jnidispatch.dll) ([file:/C:/Users/admin/work/Selenium-batch-files/Windows/selenium-server-standalone-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" 比照 yournewselenium.jar *
注意:您需要在解压缩的文件夹中。
4)对运行runSeleniumHub.bat和runSeleniumNode.bat,还是抱怨"no menifest attribute"。要解决此问题,请更改文件
发件人:
调用 java -jar selenium-server-standalone-2.47.1.jar -role hub
收件人:
call java -cp yournewselenium.jar org.openqa.grid.selenium.GridLauncher -role hub
在 runSeleniumNode.batch
发件人:
call 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 http://localhost:4444/grid/register -browser "browserName=internet explorer,version=11,platform=WINDOWS" -browser "browserName=chrome,platform=WINDOWS" -browser "browserName=firefox,platform=WINDOWS"
收件人:
call 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"
经过以上修改,问题解决。错误消息不再出现。
只是不要使用参数
os.name, os.arch, os.version
当你运行命令
java -jar selenium-server-standalone-xxx.jar
(解决方案已在 windows 10 上测试)
我是 Selenium 网格的新手。我的集线器和节点是运行。我尝试了一个在节点中自动化的测试。但是我收到错误 "Could not initialize class 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();
}
}
我遇到了同样的问题。使用正确的URL后,我的问题消失了。
你应该试试:http://www.yoursite.com
也可以看看这里:
我遇到了同样的问题。并且经常出现另一个错误消息。
org.openqa.selenium.WebDriverException: 在资源路径中找不到本机库 (com/sun/jna/windows-x86-64/jnidispatch.dll) ([file:/C:/Users/admin/work/Selenium-batch-files/Windows/selenium-server-standalone-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" 比照 yournewselenium.jar *
注意:您需要在解压缩的文件夹中。
4)对运行runSeleniumHub.bat和runSeleniumNode.bat,还是抱怨"no menifest attribute"。要解决此问题,请更改文件
发件人:
调用 java -jar selenium-server-standalone-2.47.1.jar -role hub
收件人:
call java -cp yournewselenium.jar org.openqa.grid.selenium.GridLauncher -role hub
在 runSeleniumNode.batch
发件人:
call 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 http://localhost:4444/grid/register -browser "browserName=internet explorer,version=11,platform=WINDOWS" -browser "browserName=chrome,platform=WINDOWS" -browser "browserName=firefox,platform=WINDOWS"
收件人:
call 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"
经过以上修改,问题解决。错误消息不再出现。
只是不要使用参数
os.name, os.arch, os.version
当你运行命令
java -jar selenium-server-standalone-xxx.jar
(解决方案已在 windows 10 上测试)