0

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

3 回答 3

2

我有同样的问题。并且经常出现另一个错误消息。

org.openqa.selenium.WebDriverException:在资源路径([file:/C:/Users/admin/work/Selenium-batch-文件/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" cf yournewselenium.jar *

注意:您需要在解压缩的文件夹中。

4) 运行runSeleniumHub.bat 和runSeleniumNode.bat,仍然报错“没有menifest 属性”。要解决此问题,请更改文件

从:

调用 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 http:// localhost:4444/grid/register -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"


经过以上修改,问题就解决了。错误信息不再出现。

于 2015-08-10T09:09:53.460 回答
1

只是不要使用参数

os.name, os.arch, os.version

当你运行命令时

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

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

于 2016-02-25T10:49:22.300 回答
0

我面临着同样的问题。使用正确的 URL 后,我的问题就消失了。

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

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

于 2015-07-21T10:10:38.853 回答