数据驱动
1.1理论
以测试数据驱动用例执行(测试数据和代码分离)
便于维护(维护的焦点从代码转到测试数据)
1. 编写数据存储文件
2. 编写读取数据工具
3. 使用参数化引用
1.2实际操作
口诀:
1、新建json文件,在文件中编写一个{}
2、有几个模块,写几个Key,值为列表
3、列表中参数化数据有几组,就写几个{}
3、每个{}中组成->说明+参数数据+预期结果
{
"login": [
{"desc": "登录成功",
"username": "15352932935",
"password": "123456",
"code": "8888",
"expect":"15352932935"
}
]
}
import json
import os.path
def read_json(filename, key):
path = os.path.dirname(__file__) + "/" + "data" + "/" + filename
print(path)
with open(path, encoding="utf-8") as f:
arr = []
for data in json.load(f).get(key):
# print(data.values())
tmp = tuple(data.values())[1:]
arr.append(tmp)
return arr
# read_json("login.json", "login")
@parameterized.expand(read_json("login.json", "login"))
def test01_login(self, username, password, code, expect):
try:
print(username,password,code,expect)
self.login.page_login(username, password, code)
sleep(3)
# html=self.driver.execute_script("return document.documentElement.outerHTML")
# print(html)
ncikname = self.login.get_nickname()
print(self.login.get_nickname())
self.assertEqual(ncikname, expect)
except Exception as e:
print("错误信息:",e)