手动录入太麻烦?Python自动化让测试用例秒变测试数据

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

📝 职场经验干货:

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

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

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

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

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

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

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


大家在写接口自动化测试框架的时候,都会需要一些测试数据,比如说接口的入参、断言数据的等等,往往需要我们将这些数据提前准备好。

我在之前准备测试数据的方式都是手动将测试数据转换成json文件,这种方式有两个很明显的弊端:

工作量大,效率低。

当测试用例和测试数据比较多的时候,手动转化的工作量特别大,而且容易遗漏、出错,效率也很低。

灵活性低,测试数据不易维护。

一旦后期测试用例改动或更新都需要手动去修改json文件,非常不方便,增加了对人工的依赖,降低了测试数据的可维护性。

手动准备测试数据的方式肯定是有待优化的,最近学习到一种将测试用例转换成测试数据的方法,就是使用openpyxl库,读取Excel文件中的测试用例,转化成测试数据。

相比之前手动准备测试数据的方式,这种方式更加便捷和灵活。可以轻松的完成测试用例到测试数据的转换,非常好用。

openpyxl库是一个用于读写Excel 2010及更高版本的.xlsx/.xlsm文件的Python库。它提供了强大的接口,使得开发者可以轻松地操作Excel文档,进行数据读写和格式化处理。

最新的版本是openpyxl 3.1.5,在Python官网可以清楚的看到openpyxl版本和一些编码示例.

  • 三方库地址:

    https://pypi.org/project/openpyxl/

下面来介绍下如何通过openpyxl三方库操作Excel读取和写入数据。

01 编写好接口测试用例,

示例如下。

02 编写openpyxl操作Excel数据的方法。

2.1 导包

导包示例

其中os、json是Python的标准库,不需要下载,直接导入即可;openpyxl因为是第三方库,使用前需要进行下载,使用pip包管理器下载即可,可以在命令行中输入以下命令:

    pip install openpyxl

    验证是否安装成功,可输入以下命令:

    cell_config、BASE_DIR是我在配置文件中自定义的变量,用于后续代码中,后续会介绍到。

    2.2定义FileTool类,类中定义__init__()初始化方法打开制定Excel文件,获取表单对象。

    cls.filename = BASE_DIR + os.sep + "data" + os.sep + filename是设置对象的文件路径,就是所读取的excel文件的地址

    • BASE_DIR:自定义的变量,用于存放当前编码项目所在的根路径

    • os.sep:这是Python的os模块中的一个变量,表示当前操作系统的路径分隔符。在Windows系统中,路径分隔符通常是反斜杠 \,而在Unix/Linux/macOS系统中,路径分隔符是正斜杠 /。

      使用os.sep可以使你的代码更加可移植,因为它会根据运行代码的操作系统自动选择正确的路径分隔符。

    • data:自定义的用于存放测试用例Excel文件的目录

    2.3 定义read_excel方法,读取Excel文件数据。

    For循环中下标从2开始是因为Excel文件中的第一行是表头名称,所以需要从第2行开始读取数据,其中读取字典的语句中,所有的字典key都是在上文2.1中提到的config配置文件中定义好的cell_config,value值分别对应excel文件中表头所在的列,第一列的序号是1,以此类推。

    这样就可以将对应列的数据与定义的参数名关联起来。

    2.4 定义write_excel方法,向excel中写入数据。

    x_y是data字典中的键,x_y的value保存的是excel文件中备注列“desc”所在的行号,列号,x_y[0], x_y[1]代表取列表中第一个元素和第二个元素,即行号、列号。

    每条测试用例数据读取完后,向excel中对应的备注列中写入数据读取完成的标识。

    2.5定义write_json方法,将读取的数据写入到json文件中。

    在2.3 中定义的read_excel方法内,会在for循环执行完成后,也就是读取到所有需要执行的测试用例的数据并存入列表后,调用write_json方法将保存在列表中的数据最终写入到json文件中。

    2.6 定义read_json方法,读取json中的测试数据。

    这部分是为了将来在执行测试用例时,通过读取数据自动生成测试用例,实现参数化,这部分会在今后分享文章中介绍。

    03 调用方法,验证执行结果

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

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值