首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seetest Automation MobileWebDriver通过xpath查找元素

Seetest Automation MobileWebDriver通过xpath查找元素
EN

Stack Overflow用户
提问于 2016-09-06 00:59:55
回答 1查看 781关注 0票数 0

我使用的是experitest.com的Seetest自动化,更准确地说,我使用的是Seetest自动化的MobileWebDriver实现,正如experitest所说的:"...for移动浏览器...它也可以用于自动化本机应用程序“。

因此,我在Seetest下启动了我的仪表化应用程序,然后打开检查器“object spy”。这个检查器非常酷,因为您可以在应用程序的某些屏幕元素中单击,检查器将自动在DOM中显示节点及其所有属性。检查器可以验证屏幕DOM的xpath表达式,因此您可以很容易地验证xpath表达式对于您正在查找的元素是否正确。

我有一个xpath: //*@text='Login‘

该xpath已经使用对象spy进行了验证,并且能够找到我要查找的元素。

因此,我已经为我的按钮验证了xpath表达式,下面是将执行单击的Seetest客户端:

代码语言:javascript
复制
MobileWebDriver driver = new MobileWebDriver("localhost", 8889);
driver.client.setDevice(mydevice.ID);
// Launch instrumented app
driver.client.launch(myapp.activity, true, true); 

driver.findElementByXPath("//*[@text='Login']").click();

前面的四行不能正常工作。有什么问题吗?遗漏了什么??仪表化与非仪表化?

前四行异常:

代码语言:javascript
复制
com.experitest.client.InternalException: Exception caught while executing click: Element was not identified: 'xpath=//*[@text='Login']' at zone NATIVE

我之所以使用Seetest的MobileWebDriver实现,是因为我需要与一些selenium/appium代码兼容/集成。

谢谢,希望有人知道些什么!

EN

回答 1

Stack Overflow用户

发布于 2016-09-06 16:14:23

问题出在查找元素的目标'zone‘或'context’。MobileWebDriver默认使用本机区域。我的应用程序也是一个使用web组件的混合应用程序,而我正在寻找的元素是一个web元素。

因此,解决方案是使用MobileWebDriver的这种方法:

代码语言:javascript
复制
((MobileWebDriver) driver).useWebIdentification();

这允许驱动程序查看WEB专区,而不是本机。

还有另一种方法可以在原生中检查元素:

代码语言:javascript
复制
((MobileWebDriver) driver).useNativeIdentification();

简单的解决方案。希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39334959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档