-
Notifications
You must be signed in to change notification settings - Fork 21
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
conditions.element_contains_value((MobileBy.IOS_PREDICATE, "name = 'login'"), text_='login')(context.behave_driver) Exception: Message: Method is not implemented #80
Comments
@spyoungtech I'm sorry to bother you, but could you give me some advice for my problem? |
Could you provide the full traceback of the error? I suspect this is an issue with the appium driver not supporting that condition. |
I see. I think your understanding is correct. The driver you are using is not reporting as a w3c compliant driver (some browsers, for example, are not w3c compliant, either!). It's true that this library was written with browser automation in mind, but should be usable anywhere My guess is that the element's To make sure this class MyRemoteDriver(behave_webdriver.Remote):
@property
def w3c(self):
return True
@w3c.setter
def w3c(self, new_value):
# don't let w3c be reassigned to a new value
return
...
context.behave_driver = MyRemoteDriver('http://127.0.0.1:4723/wd/hub', desired_caps) Part of the potential danger here is that, evidently, this method you want to use relies on w3c compliance for correct behavior in at least some case. If you're okay with the possibility of unwanted behavior, this seems reasonable. This may also cause odd behavior or errors in other places where methods need to know whether the driver is w3c compliant. Hope this helps. |
@spyoungtech Thanks, You are awesome. I see. I will try to use your advice. |
Hi, all,
I'm a QA, When I find your the project, I so surprise, so good project.
I am using python+appium+behave, And when I use the Class:
conditions.element_contains_value, like this:
conditions.element_contains_value((MobileBy.IOS_PREDICATE, "name = 'login'"), text_='login')(context.behave_driver)
I get an Exception:
selenium.common.exceptions.WebDriverException: Message: Method is not implemented
But when I use class: conditions.element_contains_text, like this:
conditions.element_contains_text((MobileBy.IOS_PREDICATE, "name = 'login'"), text_='login')(context.behave_driver)
It's OK.
So Why? And how can I use the Class: conditions.element_contains_value?
Thanks a lot.
The text was updated successfully, but these errors were encountered: