📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
之前写过一篇使用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%免费】


被折叠的 条评论
为什么被折叠?



