如果你还想从头学起Pytest,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1690628.html
前言
- 参数化 @pytest.mark.parametrize 的学习:https://www.cnblogs.com/poloyy/p/12675457.html
- 默认 allure 报告上的测试用例标题不设置默认就是用例名称,这样可读性不高
- 当结合 @pytest.mark.parametrize 参数化完成数据驱动时,如果标题写死,这样可读性也不高
- 所以我们希望标题可以动态的生成,来看看如何做吧
参数化无标题的栗子
测试代码
#!/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ = __Time__ = 2020/10/28 15:08 __Author__ = 小菠萝测试笔记 __Blog__ = https://www.cnblogs.com/poloyy/ """ import allure pytest @pytest.fixture() def login(request): 登录""" param = request.param print(f"账号是:{param['username']},密码是:{param['pwd']}") 返回 return {code": 0,msg": success!} datas = [ {usernamename1",1)">pwdpwd1},{name2pwd2name3pwd3} ] @allure.story('登录功能') @pytest.mark.parametrize(login',datas,indirect=True) test_login1(login): 登录测试用例1 """ assert login['] == 0
allure 报告
参数化有标题写死的栗子
测试代码
将上面的测试代码添加一个 @allure.title 就可以了
allure 报告
因为参数化可以生成三条用例,所以三条用例都用了同一个 title,可读性也不咋滴
参数化使用 ids 的栗子
测试代码
} ] ids = [ username is name1,pwd is pwd1,username is name2,pwd is pwd2username is name3,pwd is pwd3 ] @allure.story('] == 0
allure 报告
参数化动态生成标题的栗子
测试代码
} datas =} ] data2 = [ (123456),() ] @allure.story(分别传值登录测试用例2-账号是:{username}-密码是:{pwd}username,pwd test_login1(username,pwd): print(username,pwd) @allure.story(字典参数化登录测试用例2-{dict}dict test_login2(dict): print(dict['],dict[]) @allure.story(传值进fixture登录测试用例2{login} test_login3(login): '] == 0
allure 报告
参数化动态生成标题最优方案的栗子
测试代码
allure 报告
这种做法的优点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。