憋了很久,终于要开始写了...
高手勿喷,纯小白感悟分享
感谢:各位大佬在技术上的支持
一. 先上图,全局把控
自己理解的框架:有了框架,各个模块人员可以并行完成用例编写,互不干预,类似轮子,轮子在哪辆车上都能用,在这儿在那儿都能用,复用性强,只要有Python测试基础,随拿随用,随用随改
1)设计思路:
2个月,从最初的要啥控件元素写啥控件元素,只知道把流程走通,到后来想到控件复用,再到最后想到页面分层,不同层的控件分模块写,采用继承的方式,这样提高了控件的复用性,不需要你用哪个页面,再去开着UIAutomator去找,前期工作中我把所有页面的元素全部找出来,然后封装各页面控件元素。
1)PageObject模式:页面分层,提高复用性。
2)日志+用例+公用方法(截图、滑动、时间戳等自己写的小工具也在内)+页面元素定位+配置文件信息+测试报告+运行模块+测试数据源——分模块管理,互不影响,随时组装,即拿即用。
2)设计理由:
采用上述说的pageobject设计模式的好处很明显,控件复用性大大提高了,并且就算前端开发或者UI改了某个元素,会直接报错,并且只需要改一处位置,在写用例的时候,只需要调用我封装好的个页面元素封装好的方法,就跟看图说话一样,这样作为脚本开发人员,最大限度的把精力集中在测试用例的编写,测试场景的设计上,不用每次停下来找控件元素,你说好不好?
3)可行性分析:
自我探索发现+效仿前人+查阅大量资料+appium&Python基础知识丰富,并且尝试最简模式下跑通用例,认为是可行的,对于我来完成它没有太大难度了,优化的部分放在二期工程或者三期工程吧。搭框架不易,理解更不易,且搭且珍惜吧!
二. 各模块梳理介绍
1. 配置文件信息
用途:存储截图路径、日志路径、日志名、连接信息
代码截图:
① 连接信息
② 日志名、截图路径、日志路径
③ 加入了读取配置文件信息的方法,利用系统自带的configparser模块进行改写
读取方式为:传入config(配置文件)中的path_Section【标签名】和path_No【字段名】,用于获取对应字段名对应的字段值。
值得注意的是:这里把配置文件的路径做成了获取系统路径+当前路径拼接的方式(好处:相较于直接写绝对路径,当你更换了计算机,在别的pc上面运行时,不需要再次改路径名)
2. data测试数据模块
目的:用于存放测试数据
值得注意的是:如果要介入xls格式的excel文件来存储信息并读取,需要安装xlrd模块,自行百度Python相关模块