测试框架的搭建:
1、创建一个项目,项目包含如下:
common目录:用来存放公共的方法,比如表格数据读取,日志模块,配置文件读取的模块
testcases目录:用来存放编写的测试用例类模块(比如测试登录的类等test_login.py)
data目录:用来存放测试数据(用excel文件编写的测试用例,比如test_login.xlsx)
reports目录:用来存放测试报告
library目录:用来存放下载的第三方模块(比如HTMLTestRunnerNew)
conf目录:用来存放配置文件
logs目录:用来存放日志文件
run_test.py:项目的启动文件
注意:一般会将有.py文件的目录建成包
2、可以将获取路径放在配置文件,放到python文件
3、测试报告加上时间戳,时间格式转换成字符串使用strftime,如
ts=datetime.now().strftime("%Y-%m-%d-%H-%M-%S") #将日期转换成字符串,需要用到strftime
filename="report-{}".format(ts)
4、将从excel 读取的字符串转化成字典可以通过 eval(),eval()就是去掉引号,得到引号里的数据类型,但一般会用json.loads(),json.loads()可以将json字符串格式转换成字典,虽然eval也可以,
但是碰到json当中的 true, false, null, 双引号等转换成字典就会有问题
5、expected_result.items()获取的是预期结果的所有数据(字典获取所有数据包括key,value是用items()获取),
使用for循环实行预期结果的全量断言
for key, value in expected_result.items():
self.assertTrue(value == res[key])
6、yaml主要用来存储静态数据,python文件可以用来存动态获取的,比如路径,用yaml配置文件是通用的,不区分语言。而python配置文件只能在python用
7、一般用部分断言