Selenium独立服务器在生产模式下失败 - Grails

时间:2017-12-04 15:10:05

标签: selenium grails

我有一个使用Grails编写的Web应用程序在尝试启动Selenium独立服务器时在生产模式下失败。

这是错误:

 2017-12-04 10:04:52,905 [http-bio-8080-exec-7] ERROR 
 errors.GrailsExceptionResolver  - ClassNotFoundException occurred when 
 processing request: [GET] /Diversotron-0.1/api/edit
 com.google.common.base.Function. Stacktrace follows:
 java.lang.ClassNotFoundException: com.google.common.base.Function
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585)
    at java.lang.Class.getDeclaredConstructors(Class.java:1906)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
    at diversotron.PropotronService.setPropotron(PropotronService.groovy:29)
    at diversotron.ApiController.edit(ApiController.groovy:53)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

第29行是:

 WebDriver driver = new RemoteWebDriver(new URL("http://123.456.78.910:4444/wd/hub"), capabilities)

这在调试模式下完全正常。有人有主意吗? (隐私的IP地址)

1 个答案:

答案 0 :(得分:0)

使用 FirefoxOptions 通过org.openqa.selenium.MutableCapabilities合并功能,如下所示:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("...", true);
capabilities.setCapability("...", true);
FirefoxOptions options = new FirefoxOptions();
options.merge(capabilities);
WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), options);