0

私はセレングリッドが初めてです。私のハブとノードは実行中です。ノードで自動化するテストを試みました。しかし、「クラス 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: ネイティブ ライブラリ (com/sun/jna/windows-x86-64/jnidispatch.dll) がリソース パス ([ファイル:/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" cf yournewselenium.jar *

注:解凍したフォルダーにいる必要があります。

4) runSeleniumHub.bat と runSeleniumNode.bat を実行するために、「no menifest attribute」というエラーが表示されます。これを修正するには、ファイルを変更します

から:

java -jar selenium-server-standalone-2.47.1.jar -role ハブを呼び出す

に:

java -cp yournewselenium.jar org.openqa.grid.selenium.GridLauncher -role ハブを呼び出します

そして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 に答える