0

Callable スレッドを使用して Selenium テスト ケースを実行していますが、テスト ケースを実行しようとするとjava.lang.NoSuchFieldError: LINUX exception at executerService.submit(callable).get()この行が表示されます。

私のテストケースは Callable で、テストケースごとに呼び出し可能なオブジェクトを作成して送信しますが、送信後に取得しています

    java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: LINUX
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at com.xyz.TestManager.startTest(TestManager.java:142)
        at com.ensarm.crawler.socket.SocketServerThread.run(SocketServerThread.java:57)
        at java.lang.Thread.run(Thread.java:679)
    Caused by: java.lang.NoSuchFieldError: LINUX
        at org.openqa.selenium.firefox.FirefoxBinary.isOnLinux(FirefoxBinary.java:60)
        at org.openqa.selenium.firefox.FirefoxBinary.startProfile(FirefoxBinary.java:72)
        at org.openqa.selenium.firefox.FirefoxBinary.clean(FirefoxBinary.java:225)
        at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:80)
        at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:215)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:106)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:154)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:150)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:97)
        at com.ensarm.crawler.web.browser.FirefoxBrowser.initialize(FirefoxBrowser.java:308)

at com.xyz.navigator.IpProxyNavigator.initialize(IpProxyNavigator.java:46)
        at com.xyz.tests.TestThread.call(TestThread.java:56)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

次のjarを使用しています: selenium-firefox-driver-2.20.0.jar、webdriver-common-0.9.7376.jar、webdriver-firefox-0.9.7376.jar、私のfireFoxバージョンは3.6.23です

4

1 に答える 1

0

根本原因
ソースで 参照されているPlatform.LINUXフィールドがありません。

修正
Selenium jar の最新バージョンにアップグレードする必要があります。

于 2012-10-16T07:14:00.407 に答える