大家好:
移动采编app用到了一些非该app定义的控件,比如照相机以及涉及到权限的弹窗等。这部分控件的元素id在不同品牌甚至同一品牌不同型号的手机上可能是不同的,因此安卓自动化中需要对这种情况做相应的处理。在移动采编自动化中是通过自动生成./Common/CommonByDevice.robot文件来实现的,麻烦大家工作中遇到这种情况时做相应的处理。
- 1. 如何判断控件是否是移动采编app定义的
通过uiautomatorviewer.bat获取元素id时注意看一下元素的class属性,如果class的值与Common.robot文件中变量${APP_PACKAGE}的值不一致,则该元素不是由移动采编app定义的。
- 2. 非移动采编app定义的控件的处理步骤
1) 在群里通知拿着华为手机,三星手机和魅族手机的小伙伴们修改文件./Common/generateCommonByDevice.py。在该文件中增加相应设备上该元素的id(该id不能简写,需要包括包名),如下所示
2) 自己本地调试时可以在Common文件夹里增加一个附件的文件,把需要的id写进去即可。需要注意的是,该文件每次跑测试时会自动重新生成,所以不需要提交到svn上,并且上一步的操作需要大家别忘记了,否则跑测试时自动生成的文件中不会包含新增的元素id。