Appium appium 定位 hybird 的方法

haojie · August 29, 2016 · Last by longmazhanfeng replied at August 30, 2016 · 1531 hits

我最近遇到一个问题:前一段时间用appium测试hybirdapp都是用xpath进行测试的,测试的时候发现响应普遍比较慢,后来在网上查询了相关资料,说xpath定位 ,每次定位都要便利一个界面的xpth,然后再进行相关操作。并且每次hybird有跟新或者页面稍微变化,就有大片的路径变化,原来的测试代码就完全废弃。所以我试了browser.elementByName;browser.elementById等其他方法,发现会比xpath好用很多。
但是现在遇到一个问题:hybirdapp是没有类似于xml这样的布局文件的,界面都是直接写出来的,没发直接设置id这个属性。
所以想请问大家这个问题有没有比较好的解决方案,另外公司的混合开发平台是appcelerator,测试脚本都是用js写的。
或者是这样hybirdapp怎么样给组件赋上resource-id(直接在组件里添加id代表了一个属性,并且appium inspector解析不到这个id。

共收到 11 条回复 时间 点赞

等解决方案

haojie #2 · August 29, 2016 作者

#1楼 @heminwon 啥意思啊

用chrome浏览器chrome://inspect可以远程调试Android的webview,html里面应该是有id等属性的吧

你用的是 Titanium ?

haojie #5 · August 30, 2016 作者

#4楼 @chenhengjie123 是的,不知道怎么设置唯一标志符

遇到同样的问题

haojie #8 · August 30, 2016 作者

#7楼 @longmazhanfeng 有解决方法么,我发现用appcelerator写的应用,除了xpath其他的定位方式都有问题。

#8楼 @qumoy0315 ☺ 虽然你说的appcelerator没接触过,我们目前的hybirdapp都是用xpath定位。。。如果嵌套有WebView好像可以用switch to context切换到Web状态用HTML页面里的findelementbyid这些。不过如果操作涉及到和Android Native的一些交互,感觉只能用Uiautomatorviewer中看到的那些属性来定位了,不然即使切换上下文后操作元素也是无响应的

haojie #10 · August 30, 2016 作者

#9楼 @longmazhanfeng 同感,其实这个ide封装了android和ios的api,写一份代码就可以同时在android和ios上实现。你们的hybird现在都用什么集成软件啊。

#10楼 @qumoy0315 这个暂时不清楚还。。还在学习自动化测试的路上。。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up