Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

download of driver binary before every test #93

Closed
christian-draeger opened this issue Dec 20, 2016 · 1 comment
Closed

download of driver binary before every test #93

christian-draeger opened this issue Dec 20, 2016 · 1 comment

Comments

@christian-draeger
Copy link

hello,
i'm using webdrivermanger in my selenium project and from time to time i'm encounter the problem of SocketTimeoutExceptions. while trying to find the reason i found the following in my log, at every failing test caused by timeouts:

Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 114.204 sec <<< FAILURE! - in de.selenium.testcases.offersofproduct.TestRWDOpinions checkReadMoreButtonForOpinions(de.selenium.testcases.offersofproduct.TestRWDOpinions) Time elapsed: 44.168 sec <<< ERROR! java.lang.RuntimeException: java.net.SocketTimeoutException: Read timed out at io.github.bonigarcia.wdm.BrowserManager.manage(BrowserManager.java:284) at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:108) at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:87) at de.selenium.utils.driver.WebDriverBuilder.toWebDriver(WebDriverBuilder.java:88) at de.selenium.utils.WebDriverProvider.getDriver(WebDriverProvider.java:38) at de.selenium.utils.Hull.getDriver(Hull.java:75) at de.selenium.utils.Hull.browserDimension(Hull.java:198) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:567) at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:540) at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:227) at org.jsoup.helper.HttpConnection.get(HttpConnection.java:216) at io.github.bonigarcia.wdm.BrowserManager.getDriversFromTaobao(BrowserManager.java:452) at io.github.bonigarcia.wdm.PhantomJsDriverManager.getDrivers(PhantomJsDriverManager.java:44) at io.github.bonigarcia.wdm.BrowserManager.manage(BrowserManager.java:221) ... 17 more

i'm wondering because of io.github.bonigarcia.wdm.BrowserManager.getDriversFromTaobao(BrowserManager.java:452)

it looks to me that wdm is trying to download the phantomjs binaries before every test.
my assumption had been to avoid this by setting the following option in my application properties

wdm.forceCache=true

what im doing to setup the phantomjs driver in my webdriverbuilder is
PhantomJsDriverManager.getInstance().setup(); PhantomJSDriver phantomJsWebDriver = new PhantomJSDriver(capabilities);

am i missing out something or is it a bug?

@christian-draeger christian-draeger changed the title downloading driver binary before every test download of driver binary before every test Dec 22, 2016
@christian-draeger
Copy link
Author

renaming application.properties to webdrivermanager.properties fixed the problem (see #97 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant