最近在搞appium+python移动端的自动化任务编写,想通过一个简单的APP的全套自动化脚本编写,提炼出一套完整的适用于大部分APP的方法,很简单的思路,但是却有很强的弊端,当然也有其优势,对我们公司而言利大于弊,希望你们可以更好的建议。
1.由于要做到一个yaml文件对应一个单元测试功能,所以要考虑以下问题:
(1)同一种系统不同分辨率的手机型号适配;
(2)iOS与Android两种不同系统,由于开发不一样,我们公司制度的不全面性,所以导致他们的命名规范不一致;
(3)由于iOS与Android部分控件不一样,导致他们的部分页面布局不一样,针对他们的特殊处理;
(4)针对输入框内容,iOS与Android调用输入法的不一致性;
(5)操作成功后,数据以及页面的判断
2.针对以上遇到的问题,暂时采用坐标方法解决,但是这不是最好的方法,只是解决问题行之有效的一个方法,思路如下:
(1)以编写测试脚本手机的分辨率为标准,获取对应button的物理坐标,再根据不同手机之间的分辨率编写比例公式,计算其相对坐标
(2)采用driver.manage().window().getSize().height方法获取执行测试用例手机的高,driver.manage().window().getSize().width方法获取执行测试用例手机的宽,根据(1)的方法算出对应的坐标
(3)采用selenium\webdriver\remote\webdiver.py方法截取当前屏幕并与美工图做对比,判断登录成功与否、信息提交与否、注册是否成功等情况
(4)采用python-mysql,链接数据库获取短信验证码等
(5)log日志方法编写
(6)获取设备等信息公共方法编写
(7)测试报告文件发送公共方法编写
(8)图片智能分析验证方法验证编写
(9)实现坐标元素方法点击方法编写......
这是我的一个大致思路,希望可以吸取更多的经验和建议。
领取专属 10元无门槛券
私享最新 技术干货