Appium+Python自动化测试PO模式
PO模式属于selenium的一种设计模式,套用在appium身上了(实践表明,合适,因为selenium和appium"本是同根生")
Data:测试数据。后期准备把代码中会所有测试数据都整合到excel或者xml内,Data文件夹就是这个用处
PO:所有Page。以Base页面为基础(看下图分析,来理解PO)
Public:一些公共的方法,比如测试报告脚本,封装好的
Result:测试结果,包括测试报告和截图
TestCase:测试用例都放这儿
run_case:测试套件,利用HTMLTestRunner.py,输出测试报告到/Result下
1.Page
Page这个文件夹主要是用来放页面元素的,可以先将测试时要用到的页面元素定位都写到这个文件,如下图
所有页面元素都是采用By来定位的,具体可以去网上百度By的定位方法
2.Public
这里放的就是公用的方法和启动的方法
1)启动方法
返回的是driver,这里面的配置参数都是从yaml文件中读取的,不知道yaml数据配置的,可以看这篇:https://www.cnblogs.com/xiongxiaoyan/p/11727733.html
2)公用方法
主要是重写find_element,click(),send_keys(),clear(),以及其他我常用到的方法,如下图__init__()方法是一个构造函数,在实例化类的时候就会自动执行这个方法:
我封装的其他常用方法:
3.TestCase
这个文件夹存放的是测试用例,一个模块一个文件,一个文件里面包含多条用例
我将用到的模块公用方法单独写在上面,可以避免代码冗余
将用到的方法单独提出来,写测试用例时代码就不用写的那么繁琐了,如下图:
1)新建文件夹,直接调用新建文件夹方法
2)删除
3)复制
4)移动
注意:在写try语句时,一定要在except语句块里面加一个判断执行错误的断言,不加的话,不论执行用例是否正确,运行时脚本都会认为是pass
4.Runner
Runner文件夹存放的是总的运行文件,执行时,只运行这个文件就可以
脚本内容如下:
5.Report
这是存放报告的文件夹
具体报告如下:
6.yamlFile
这是放运行数据的文件夹
这个一般一开始就要配置好的,整个po模式就是这样了,新人勿喷,可以提建议