1.POM是什么
pom 其实就是 ui自动化的时候,把 界面 分割为一个个部分, 每个部分有专门的 类 或者模块 负责其界面的操作。
这样,可以把 自动化逻辑 分成2层
一层 是 对应测试用例的 测试逻辑, 一层是底层的自动化操作动作
好处就是当界面产生变化的时候, 测试逻辑通常可以保持不变
2.POM优点
1.POM提供了一种在UI层操作、业务流程与验证分离的模式,这使得测试代码变得更加清晰和高可读性
2.对象库与用例分离,使得我们更好的复用对象,甚至能与不同的工具进行深度结合应用
3.可复用的页面方法代码会变得更加优化
4.更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素
例如我们要回到首页,方法名命名为: gotoHomePage(),通过方法名即可清晰的知道具体的功能实现。
3.POM模式结构
project–项目名称
common–公共方法
base.py–selenium方法二次封装
page–封装项目所有页面,每一个pageClass都继承Base类
loginpage.py–登录页面封装
homepage.py–首页封装
script–业务流程/测试用例
test_login.py–登录功能测试用例;登录流程,引用page中的loginpage文件
data–存放测试数据
excel
txt
yaml
config–存放配置文件
log–测试脚本日志文件
report–测试报告
run_case.py执行用例
4、测试用例管理
unittest
编写测试用例:
特殊方法:
setUp:在测试用例执行前执行
tearDown:在测试用例执行后执行
setUpClass:在测试类中的所有测试用例执行前执行一次,并需要@classmethod装饰器
tearDownClass:在测试类中的所有测试用例执行后执行一次,并需要@classmethod装饰器
测试用例编写:
每个测试用例必须以test开头
测试用例执行顺序按照ASCII码顺序执行,与编写顺序无关
跳过测试:skip跳过测试类,跳过测试方法
断言:assert
执行测试用例run_case.py:
在当前文件执行:unittest.main()
批量执行:
测试套件:
discover = unittest.defaultTestLoader.discover(用例目录,pattern=‘用例文件.py’)
测试执行:
测试文件名称:
report_file = “测试报告文件路径+名称”
with open(report_file,“wb”)as fp:
runner = HTMLTestRunner.HTMLTestRunner(title=‘自动化测试报告’,
description=‘用例执行情况:’,
stream=fp,
verbosity=2
)
runner.run(discover)
5.测试数据管理
对于账号密码,这种管全局的参数,可以用命令行参数,单独抽出来,写的配置文件里(如ini)
对于一些一次性消耗的数据,比如注册,每次注册不一样的数,可以用随机函数生成
对于一个接口有多组测试的参数,可以参数化,数据放yaml,text,json,excel都可以
对于可以反复使用的数据,比如订单的各种状态需要造数据的情况,可以放到数据库,每次数据初始化,用完后再清理
对于邮箱配置的一些参数,可以用ini配置文件
对于全部是独立的接口项目,可以用数据驱动方式,用excel/csv管理测试的接口数据
对于少量的静态数据,比如一个接口的测试数据,也就2-3组,可以写到py脚本的开头,十年八年都不会变更的
6.代码管理
Git
7.持续集成
Jenkins:
安装,部署,新建项目,配置项目,定时任务…
调研报告模板:https://www.nanss.com/gongzuo/16697.html
岗位设置方案:https://www.nanss.com/gongzuo/17087.html
抒情文章:https://www.nanss.com/gongzuo/16035.html
公司介绍信:https://www.nanss.com/gongzuo/18669.html
实习生简历模板:https://www.nanss.com/xuexi/16746.html
上半年工作总结:https://www.nanss.com/gongzuo/17150.html
伤感英文歌:https://www.nanss.com/shenghuo/17261.html
我战胜了困难:https://www.nanss.com/xuexi/17689.html
小班幼儿观察记录:https://www.nanss.com/gongzuo/17162.html
六弦琴是什么乐器的别称:https://www.nanss.com/wenti/18339.html
科技改变世界:https://www.nanss.com/xuexi/18134.html
日本投降是哪一年哪一天:https://www.nanss.com/wenti/18181.html
盗墓小说排行榜前十名:https://www.nanss.com/yuedu/18403.html
harmonyos是什么系统:https://www.nanss.com/wenti/16126.html
经费报告:https://www.nanss.com/gongzuo/17826.html
观后感800字:https://www.nanss.com/xuexi/17352.html
只有一个地球教案:https://www.nanss.com/gongzuo/16160.html
一个字的网名:https://www.nanss.com/mingcheng/17505.html
夹板虫:https://www.nanss.com/shenghuo/16090.html
夏令营方案:https://www.nanss.com/gongzuo/18797.html
发生火灾怎么办:https://www.nanss.com/wenti/18446.html
团支部总结:https://www.nanss.com/gongzuo/18707.html
研究报告:https://www.nanss.com/gongzuo/18679.html
请你支持我作文:https://www.nanss.com/xuexi/17665.html
节能工作总结:https://www.nanss.com/gongzuo/17116.html
荒岛求生记作文:https://www.nanss.com/xuexi/17549.html
碧玺的作用:https://www.nanss.com/jiaju/17966.html
合作协议书范本:https://www.nanss.com/gongzuo/19101.html
婚庆策划方案:https://www.nanss.com/gongzuo/16388.html
寒食节为了纪念谁:https://www.nanss.com/shenghuo/18498.html