搞定参数化测试,接口自动化测试用例管理像开了挂

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


之前写过一篇使用Python操作Excel文件的文章,主题是通过openpyxl,针对Excel进行读、写操作

读是用来读取Excel文件中编写的接口测试用例并转换成JSON文件,用于后续参数化测试;写是用来将测试用例的读取结果和测试用例执行结果写入Excel中作为记录。

下面,我将基于参数化测试和将测试执行结果写入文件两方面做介绍。

参数化测试

1、定义读取json文件方法

  • open()是 Python 内置函数,用于打开文件。

  • with 是 Python 的上下文管理器语法,使用with open结构能够保证在退出with语句块后,自动关闭打开的文件。

  • File_name作为形参,用于指定将要读取的文件名,需要注意文件名的路径,否则会找不到文件。使用json.load()方法读取JSON数据并解析为Python对象。

以我代码中读取“用户管理.xlsx”文件为例,解析出来的数据类型为列表(list),列表中嵌套的是字典。

2、创建TestUser测试类,定义test_user测试方法

使用@pytest.mark.parametrize装饰器,构造测试方法,

case是测试参数,

@pytest.mark.parametrize会将参数列表中的每一组case参数分别传递给测试函数,然后依次执行测试函数。case参数是上述读取的列表元素,即将每个字典作为一条测试用例。

注意:

除了@pytest.mark.parametrize装饰器,还可以使用@parameterized.expand装饰器实现参数化,但是两者有一定的区别,区别如下。

使用pytest作为测试框架的话,建议使用其原生的@pytest.mark.parametrize,它更为灵活、更强大。

3、执行用例并检查结果

因为我在文件中仅有2条测试用例标记执行,所以最终执行的用例数总共为2条。可以看到控制台的输出:collected 2 items,

表明pytest框架收集到了2条用例,分别是test_user[case0]、test_user[case1]。

向文件中写入执行结果

以上用例执行完成之后,可以将已执行的测试用例结果写入Excel文件中,方便及时记录和查看。

因为我们是基于响应断言的结果判断用例是否执行成功,因此,如果某条用例断言成功,则向Excel文件“测试结果”列写入PASSED,反之,写入FAILED,写入结果示例如下。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值