pytest测试框架基础学习
-
安装测试框架pytest和生成报表第三方插件pytest-html
-
准备好要测试的代码,这里以登陆为例
-
编写测试用例代码,这里只有最后一条用例是不通过的
(注意:编写的测试用例代码文件,必须以test_ 开头,或者以_test 结尾;类名必须以Test开头,用例对应的方法也必须以test开头)
-
打开cmd命令提示符,运行测试
python -m pytest cases -sv
# 或输入
python -m pytest cases\denglu\test_login.py -sv
- 产生报告,一般生成的报告在命令相同的路径内
python -m pytest cases --html=report.html --self-contained-html
# 或
python -m pytest cases\denglu\test_login.py --html=report.html --self-contained-html
- 点开report.html查看报告
综上,它们测试步骤只有输入和输出的数据不同。我们可以使用pytest用例的数据驱动格式,把测试数据从用例代码中分离开来,以后增加新的测试用例,只需要修改数据。
# 数据驱动
class Test_errorlogin2:
@pytest.mark.parametrize('username,password,expectresult',[
('user1','1234567','用户名或密码不正确'),
('user','1235456','用户名或密码不正确'),
('user1','123456','用户名或密码不正确')
])
def test_Case001_003(self,username,password,expectresult):
result = api_login(username,password)
assert result['msg'] == expectresult