网站首页 > 技术教程 正文
一、Fixture参数之params参数可实现参数化:(可以为list和tuple,或者字典列表,字典元祖等)
实例如下:
import pytest
def read_yaml():
return ['1','2','3']
@pytest.fixture(params=read_yaml())
def get_param(request):
return request.param
def test01(get_param):
print('测试用例:'+get_param)
if __name__ == '__main__':
pytest.main(['-s','pytest-demo.py'])注意:
1.此例中test01方法被执行了三次,分别使用的数据为'1','2','3',此结果类似于ddt数据驱动的功能。特别注意:这里的request参数名是固定的,然后request.param的param没有s哦。
2.可以把return request.param改成yield request.param,yield也是返回的意思,它和return的区别在于return返回后后面不能接代码,但是yield返回后,后面还可以接代码。
Fixture其他参数:软件测试技术交流群:695458161
1.autouse参数:自动执行,上面的示例已经用到了。
2.ids参数:ids参数是给每一项params参数设置自定义名称用的,意义不大。
3.name参数:相对于把被fixture标记的方法重命名,意义不大。如下图所示案例:
@pytest.fixture(name='mashang') #name参数给fixture设置名称
def login():
print('登录方法')
def testcase(mashang): #使用name参数名来引用,还用login报错
print('测试用例')二:使用@pytest.mark.parametrize()方法实现参数化
方法详情:
parametrize(argnames,argvalues,indirect=False,ids=None,scope=None)
常用参数:
argnames:参数名
argnames:参数值(可以为list和tuple,或者字典列表,字典元祖等),参数值有N个,用例就会执行N次。
(1)使用方式一
import pytest
lis = [{'name':'zhangsan'},{'age':'18'},{'sex','男'}]
@pytest.mark.parametrize('caseinfo',lis)
def test01(caseinfo):
print(caseinfo)
if __name__ == '__main__':
pytest.main(['-s','pytest-demo.py'])(2)使用方式二类似于@unpack解包功能实现参数化
import pytest
lis = [('admin','123'),('admin1','123456')]
@pytest.mark.parametrize('username,password',lis)
def test01(username,password):
print(username,password)
if __name__ == '__main__':
pytest.main(['-s','pytest-demo.py'])
猜你喜欢
- 2024-11-17 这些年,英国女王就靠这件事赚了6000多万元!
- 2024-11-17 主题分类词汇 14 (Industry 工业)
- 2024-11-17 工件的安装与夹具,建议收藏
- 2024-11-17 Pytest fixture及conftest详解
- 2024-11-17 pytest框架进阶自学系列 | 在不同的层级上重写fixture
- 2024-11-17 仕诺康丨全程导板工具盒
- 2024-11-17 Pytest的内置fixture(七)
- 2024-11-17 你会买吗?可以边走边玩的Switch专用手柄支架Fixture S1开启众筹
- 2024-11-17 思林杰获得外观设计专利授权:“充电座(BBUChargingFixture)”
- 2024-11-17 软件测试 | pytest测试框架纸fixture进阶
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
-
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)