在可调用线程中获取java.lang.NoSuchFieldError:LINUX?

时间:2012-10-16 07:03:45

标签: java firefox exception selenium callable

我使用Callable线程运行Selenium测试用例,我在 executerService.submit(callable).get()获得 java.lang.NoSuchFieldError:LINUX 异常当我试图运行测试用例时,这一行。

我的测试用例是可调用的,并且对于每个测试用例,我创建了可调用对象并提交它,但是在提交后我得到了

    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)

我正在使用以下罐子: selenium-firefox-driver-2.20.0.jar,webdriver-common-0.9.7376.jar,webdriver-firefox-0.9.7376.jar ,我的fireFox版本 3.6.23 < /强>

1 个答案:

答案 0 :(得分:0)

根本原因
源中引用的Platform.LINUX字段不存在。

<强>修正
您需要升级到最新版本的selenium jar。