Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upSelenium 4: Ruby bindings #6444
Conversation
p0deje
added
the
C-rb
label
Sep 25, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
twalpole
Sep 25, 2018
Contributor
This all sounds fine to me other than the deprecating of the Selenium::WebDriver namespace - that's going to make exception handling while supporting selenium-webdriver 3 and 4 in Capybara a pain
|
This all sounds fine to me other than the deprecating of the Selenium::WebDriver namespace - that's going to make exception handling while supporting selenium-webdriver 3 and 4 in Capybara a pain |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
p0deje
Sep 26, 2018
Member
This all sounds fine to me other than the deprecating of the Selenium::WebDriver namespace - that's going to make exception handling while supporting selenium-webdriver 3 and 4 in Capybara a pain
Fair enough. We might just not do that or find a way to make it work for Capybara painlessly. @titusfortner proposed this, so maybe he has an opinion on that.
Fair enough. We might just not do that or find a way to make it work for Capybara painlessly. @titusfortner proposed this, so maybe he has an opinion on that. |
p0deje commentedSep 25, 2018
•
edited
This PR is opened for the list of changes I'd like to do for Ruby bindings in Selenium 4. Please read below for details and I'll be happy to hear the feedback. Let's have this PR both as To Do list and discussion board + code of what we want to see in Selenium 4. I'll be updating the list throughout the implementation and discussion.
I'll be very happy to hear the feedback from everyone else involved in selenium-webdriver gem development (@titusfortner, @lmtierney, @twalpole). If something is not clear or doesn't make any sense or causes trouble for higher-level libraries (Watir, Capybara) - let's discuss here.
Removal of OSS dialect
Mouseclass.Keyboardclass.W3CSometimgclasses toSomething. Remove their OSS equivalents.desired_capabilitiestocapabilitiesand provide W3C-compliant API for setting then (alwaysMatch,firstMatch).Cleanup
Improvements
Safari::Options.Edge::Options.Optionsclasses to remote instances.Serviceinstances to driver in favor ofdriver_opts. Deprecatedriver_opts. (?)element/{element id}/attribute/{name}to get element instead of atom (confirm with Simon).Ruby-specific
Selenium::WebDrivernamespace in favor ofSelenium. (?)C-rbissues (somehow).C-rbpull requests (somehow).SocketPoller#listening?as the bug it works around has been fixed in JRuby 1.6.7 (http://jruby.org/2012/02/22/jruby-1-6-7).RUBY_ENGINEas it was only undefined in MRI 1.8 (also search for similar constants).Platform#null_deviceasFile::NULLwas introduced in Ruby 1.9.3 (https://svn.ruby-lang.org/repos/ruby/tags/v1_9_3_0/NEWS).$PROGRAM_NAME == __FILE__- use IRB instead.File::ALT_SEPARATORwhenever possible.Logger.PortProber.randomas it should be avoided (deprecated in 6d3edb5).Waitto useProcess::CLOCK_MONOTONICinstead ofTimeas the latter is often monkey-patched (e.g. Timecop).&.)This change is