移动端自动化利器UIAutomator

本文章转载于搜狗测试

感谢“白天才痴”同学为我们投稿,今天在这里给大家介绍一下Uiautomator工具在控件定位和使用时的一些问题和经验总结,货真价实的干货、干货、干货。

直奔主题。

使用resourceid定位控件

UISelector提供的定位的方式很多,可以是类名,文本,资源id,索引值等,但是索引、文本很容易随版本变化,类名重复程度又太高,而资源id通常是不会变的,使用多种条件混合有时效果更好。

执行控件方法前判断是否存在

多使用clickAndWaitForNewWindow

对于有跳转的click,使用clickAndWaitForNewWindow会比直接点击更有效,这个方法等待新窗口的出现后才返回,降低了由于卡顿而导致跳转慢最终找不到控件的概率

查找控件失败的可能原因

有的控件设置了属性NAF=true,这个属性大概就是no access flag之类的,表示不能被自动化工具识别到,这种控件我一般用起父控件的坐标去点击。

资料:https://stuff.mit.edu/afs/sipb/project/android/docs/tools/testing/testing_ui.html

用一些重试机制使脚本更稳定

对于自动化,最关注的不是功能点击的实现,而是脚本的稳定性,兼容性,为了写把一个click写好,很可能要额外写10几行代码,下面写的是如何写一个兼容性强的apk安装脚本

takeScreenShot失败?

这两天写自动化时有时会截图失败,会提示device or resource is busy,后来发现是RootExplorer打开着没有完全退出,只是退到了后台,应该是RE打开时把文件系统重洗挂载了导致无法写入截图文件。

同时在实践也发现takescreenshot函数的重载版,设置图片质量和缩放时貌似是无效的,如果图片有传输要求还是自己写代码压缩吧

即使你了解了这些技巧,就目前来看,仍不建议去做功能自动化,脚本的稳定性保证需要很多额外的代码,提升却很有限

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,122评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,500评论 4 61
  • 前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改。 大多数的iOS App(没有持续集成)迭代流程是这样的...
    默默_David阅读 1,790评论 0 4
  • 大学时候,骑自行车,每周日晚上回华师大,每个红灯,都停,一方面敬畏,一方面好玩,看着别人飕飕的过去,心中略有鄙视。...
    wingfish阅读 215评论 0 1
  • 若是爱生活,那么,三月,你所走过的每一段光阴都是美好。 淡雅的日子配上一段清幽的文字,是不是很美?在三月世俗里开花...
    美食美客阅读 382评论 0 2

友情链接更多精彩内容