selenium-google-code-issue-archive icon indicating copy to clipboard operation
selenium-google-code-issue-archive copied to clipboard

Increase FirefoxDriver timeout on C# Bindings

Open lukeis opened this issue 8 years ago • 7 comments

Originally reported on Google Code with ID 8202

After upgrading to Firefox 32 is common to see FirefoxBinary reaching the hardcoded
45 seconds timeout on low resources machines (e.g. a VM with 1 v-CPU, 2 GB RAM with
Windows 7). 

https://code.google.com/p/selenium/source/browse/dotnet/src/webdriver/Firefox/FirefoxBinary.cs

RemoteWebDriver with DesiredCapabilities does not provide a way to increase this timeout.

May be helpful to add a specific DesiredCapability on RemoteWebDriver (DesiredCapabilities.Firefox())
 to increase FirefoxBinary launch timeout.

Reported by gjmveloso on 2014-11-24 13:26:16

lukeis avatar Mar 04 '16 09:03 lukeis

Reported by barancev on 2014-12-01 20:11:59

  • Labels added: Browser-Firefox

lukeis avatar Mar 04 '16 09:03 lukeis

The https://github.com/SeleniumHQ/selenium/pull/292 pull request should
mitigate this issue.

Thoughts?

Reported by gjmveloso on 2014-12-01 21:45:25

lukeis avatar Mar 04 '16 09:03 lukeis

Reported by barancev on 2014-12-01 21:51:59

  • Labels added: Lang-CSharp

lukeis avatar Mar 04 '16 09:03 lukeis

Setting a timeout property on the FirefoxProfile object won't help. When you're using
RemoteWebDriver, you're using the Java language bindings on the remote end. You could
serialize the timeout for connection as part of the profile every day of the week and
twice on Sunday, but if the Java language bindings don't deserialize that timeout into
something meaningful and use it when launching Firefox, it won't matter a single iota.

To resolve this locally with the .NET bindings, create an instance of the FirefoxBinary
class, set the Timeout property, and use that in the FirefoxDriver constructor. To
fix the issue for the RemoteWebDriver case, you'll need to make changes to the Java
FirefoxDriver implementation to understand a timeout capability.

Reported by james.h.evans.jr on 2014-12-01 22:14:19

lukeis avatar Mar 04 '16 09:03 lukeis

Thanks for your thoughts James. So to add something new on FirefoxProfile to be used
by both local and remote WebDriver this addition should be implemented basically everywhere
(ideally all language bindings).

It's a good exercise to known more about Selenium code ;)

Reported by gjmveloso on 2014-12-02 14:38:01

lukeis avatar Mar 04 '16 09:03 lukeis

Or I suppose you could modify the serialization of the FirefoxBinary class, but you'd
need to change it in the Java bindings first, since that's the remote end of RemoteWebDriver
for all language bindings.

Reported by james.h.evans.jr on 2014-12-02 14:48:48

lukeis avatar Mar 04 '16 09:03 lukeis

Reported by luke.semerau on 2015-09-17 17:47:30

  • Labels added: Restrict-AddIssueComment-Commit

lukeis avatar Mar 04 '16 09:03 lukeis