3

さまざまなブラウザー ドライバーで Fluentlenium を実行しようとしています。Fluentlenium から getDefaultDriver() を構成する必要があると思いますが、その方法について正確にはわかりません。どんな例のコードも素晴らしいでしょう。ここに私のコードがありますが、機能していません。私がEclipseで受け取っているメッセージは次のとおりです。

"java.lang.IllegalStateException: ドライバー実行可能ファイルへのパスは、webdriver.chrome.driver システム プロパティで設定する必要があります。詳細については、http: //code.google.com/p/selenium/wiki/ChromeDriver を参照してください。最新バージョンはhttp://code.google.com/p/chromedriver/downloads/listからダウンロードできます com.google.common.base.Preconditions.checkState(Preconditions.java:176) org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105) org.openqa.selenium.chrome.ChromeDriverService .createDefaultService(ChromeDriverService.java:75) org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:107) com.picklist.tests.PicklistCreate.(PicklistCreate.java:32) で sun.reflect.NativeConstructorAccessorImpl. newInstance0(Native Method) の sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) の sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) の java.lang.reflect.Constructor.newInstance(Constructor.java: 525) org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:195) org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:244) で org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) で org.junit.runners.BlockJUnit4ClassRunner. methodBlock(BlockJUnit4ClassRunner.java:241) org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) org.junit.runners.ParentRunner $3.run(ParentRunner.java:238) org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) org.junit. runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.internal.runners.org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java: 50) org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) で org .eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt .internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner. java:467) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) でorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197) でrun(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner. java:467) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) でorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197) でorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) の RemoteTestRunner.run(RemoteTestRunner.java:390)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) の RemoteTestRunner.run(RemoteTestRunner.java:390)

"

以下の私のコード:

public WebDriver driver = new ChromeDriver();

// Overrides the default driver
@Override
public WebDriver getDefaultDriver() {
    System.setProperty("webdriver.chrome.driver", "C:/chromeDriver/chromedriver.exe"); // Set for ChromeDriver
    //return driver;
    return driver;
}

次のコードを実行すると動作しますが、ドライバーが定義されなくなり、driver.xxx を使用する大量のコードが生成されます。

// Overrides the default driver
@Override
public WebDriver getDefaultDriver() {
    return new ChromeDriver();
}
4

3 に答える 3

3

これを解決した方法は次のとおりです。

パブリック WebDriver ドライバー。

// Overrides the default driver
@Override
public WebDriver getDefaultDriver() {
    System.setProperty("webdriver.chrome.driver", "C:/chromeDriver/chromedriver.exe"); // Set for ChromeDriver
    driver = new ChromeDriver();
    return driver;
}
于 2013-08-21T21:28:19.427 に答える