-
-
Notifications
You must be signed in to change notification settings - Fork 159
update selenium-webdriver 3.0 and add patches to work with Appium #383
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
Conversation
|
a6c41cd
to
f0e2706
Compare
84ff46e
to
f534963
Compare
I update commits and this PR works fine in my test suites. An important point in this PR is that using @jlipps Could you check the patch policy? If using |
Wouldn't it be more pragmatic to just wait until selenium 3 routs will be implemented in Appium server ? This PR obviously introduce some unnecessary complexity while I'm not sure what exactly Selenium 3.0 brings to the table. |
Yes, I agree... > This PR obviously introduce some unnecessary complexity... |
6f96d78
to
4736ec4
Compare
@jlipps what do you think ? => #383 (comment) |
We will certainly be supporting the se3-style clients in the Appium server. So I think this patch is relevant. But I'm not sure exactly when this will happen. @KazuCocoa do you have a link that explains the differences between what the se3 clients send and what the Appium server expects? |
400225d
to
b9a46ea
Compare
|
5b87907
to
5ea5110
Compare
# ".switch_to.alert" calls getAlertText so use bridge directly | ||
driver.send(:bridge).acceptAlert | ||
# ".switch_to.alert" calls alert_text so use bridge directly | ||
driver.send(:bridge).accept_alert |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some methods in selenim-webdriver 3.0
are renamed.
@@ -552,7 +552,7 @@ def _by_json(opts) | |||
JS | |||
|
|||
res = execute_script element_or_elements_by_type | |||
res ? res : fail(Selenium::Client::CommandError, 'mainWindow is nil') | |||
res ? res : fail(Appium::Ios::CommandError, 'mainWindow is nil') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Selenium::Client
were removed
@jlipps ^ the above comments is what you wanted ? Could you check again ? 🙇 |
394fd74
to
a4ff414
Compare
a4ff414
to
717e450
Compare
95d35b6
to
159f937
Compare
Use |
Update this description |
according to the "Bump selenium-webdriver dependency #382", someone uses appium_lib with selenium-webdriver. So, they need appium_lib's dependencies over selenium-webdriver3. So, I'd like to merge this after self-review for them. |
👍 |
This PR is for
selenium-webdriver
3.0.0 and 3.0.1.Over 3.0.2, we need #413 .
motivation
Using
selenium-webdriver 3.0
instead ofselenium-webdriver 2.x
to catch up with the latest maintained library.What I do
Fix some issues I encountered issues I ran my test suite with
selenium-webdriver 3.0
.We should use legacy
Bridge
to compatible with Appium server.W3CBridge
, used in Selenium3 Ruby client by default, differs paths betweenselenium-webdriver 2.x
andselenium-webdriver 3.x
. So, we encounter some no route error if we useW3CBridge
. For instance, the following paths are changed paths betweenselenium-webdriver 2.x
andselenium-webdriver 3.x
.Fixed issues
selenium-webdriver
3.0 client freezeSelenium::WebDriver::SearchContext::FINDERS
. Butruby_lib
extends the attribute. So, I've added search context for Appium .Selenium::Client
is removed fromselenium-webdriver
. So, re-define iOS error inruby_lib
.W3CBridge
Bridge
to useCapabilities
class for firefoxW3CBridge
as bridge moduleRoutes
Appium server's routes are based on mobile-json-wire-protocol. So, the commands differ from w3c one.