4

Ghostdriver (Phantomjs) を使用して webdriver テスト ケースを実行しようとしていますが、エラーが発生していますjava.lang.NoClassDefFoundError: org/openqa/selenium/HasInputDevices
私にはすべて問題ないように思えますが、エラーが発生する理由がわかりません。
OS - WIN7
コーディング - JAVA 1.7
フレームワーク: java1.7+testng6.5.2+maven3
Selenium-java バージョン 2.35.0


テストケース

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;

import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;

public class ghosttest {

    WebDriver driver;

    @Test
    public void testing() {

        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setJavascriptEnabled(true); 
        caps.setCapability(
        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
        "D:/dumps/phantomjs-1.9.1-windows/phantomjs-1.9.1-windows/phantomjs.exe");
        driver = new PhantomJSDriver(caps);
        driver.get("http://www.google.com");

        String Logintext = driver.findElement(By.linkText("Maps")).getText();
        System.out.println(Logintext);

    }
}


ゴーストドライバーのmaven依存関係

<dependency>
    <groupId>com.github.detro.ghostdriver</groupId>
    <artifactId>phantomjsdriver</artifactId>
    <version>1.0.3</version>
</dependency>
4

1 に答える 1

8

あなたの問題は、ghostdriver がSelenium 2.35 と互換性がないことです。

依存関係を 2.34 に変更すれば問題ありません。特に Selenium 2.35 が必要な場合は、残念ながら新しい PhantomJSDriver を待つ必要があります。

現在、phantomjsdriver の最新バージョンも 1.0.4 です。1.0.3 がありました。

于 2013-09-16T13:33:00.457 に答える