自动化测试的建设
1.基于用例编写自动化测试脚本,注重用例的更新和脚本的及时维护;
通常情况下选择自动化测试框架联合Pycharm或者IDEA等平台来实现的话,自动化测试项目工程使用PO模式的优点会体现出来,非PO模式的构造(如python+poco+airtest)虽然在单条用例看起来一目了然,但是如若App需要版本升级迭代,开发人员修改了某些功能入口或对页面元素做了修改,就会影响到自动化测试脚本的执行,此时需要对脚本作页面元素的修改就是一件非常浩大的工程,需要贯穿整个测试代码对元素进行调整,导致在版本迭代后期,脚本难以维护
然而,通过Page Object Model来形成PO模式就可以创建更加健壮的代码。通过分离测试对象和测试脚本的抽象来实现,简单来说就是代码的封装,将元素或测试方法进行封装对外暴露方法进行调用,方便修改和进行脚本维护
2.及时跟进脚本在实际项目中的执行情况(提高手动测试效率)
有些App项目或者产品对用例做自动化实现是为了更方便做回归测试,但是本人在实际工作中重点注重的是自动化用例的实现以及提高组内或团队其他同学手动测试的效率,节约其手动测试时间,去做更多的探索性测试,这就需要时刻关注自动化测试脚本在别人手中的“落地执行”情况,及时收集问题和做出优化和解决方案
3.针对自动化测试过程发现的Bug和运行不稳定情况进行优化
这和2中的是紧密联系的,在重点关注自动化用例落地执行的前提下,针对实际项目中发现的Bug进行分析处理,同时针对所选择的自动化测试框架或出现的用例运行不稳定情况,进行问题收集和提供解决方案,例如在我所选的第一个测试框架(airtest)做自动化测试时就会出现框架对某些手机不适配,无法运行自动化测试脚本的情况,出现这种问题的原因多半不是脚本本身的问题,或是框架暂不支持,或者所依赖的插件库版本过低,不论是什么情况,首先应该想到如何解决问题,如若是需要框架优化自己无法实现,也应及时做出对应的策略:
a.如确定哪些机型无法适配自动化测试脚本;
b.除此之外应该对其他机型如何安排,实际做自动化测试应按照什么方式来执行
c.及时关注对应的库是否升级且升级后能否解决之前的问题
4.定期输出自动化相关技术文档或做出经验总结
重点就是需要将自己遇到的问题和难题及时记录,问题解决了之后给出对应的问题分析和解决办法,形成规范文档或以经验总结的形式分享出来,给自己增加经验的同时也方便其他同学的学习
编写测试脚本的重要原则
1.脚本测试的准确性
Phone phone = TOPO.phoneDUT;
logger.info("步骤1:在系统桌面上长按浏览器图标,分别点击搜索、看资讯、应用信息,分别查看跳转的页面");
Widget.click(phone, EX_Brwoser_Element.BROWSER_ICON,1);
Common.wait(phone,2);
logger.info("验证点1:点击搜索,打开浏览器搜索界面");
Widget.clickByText(phone,"搜索");
Common.wait(phone,2);