requests+unittest对测试步骤的数据驱动
做接口自动化,或者UI自动化,对测试脚本的封装是一件很重要的事情。
封装带来的好处是,脚本容易维护,当数据与脚本或者代码分离后,我们只要更新我们的测试数据即可,测试脚本不要轻易的改动。
维护起来就轻松很多了。
从某种意义上来说,自动化测试的成败,很大程度上取决于我们的测试数据与测试脚本是否能成功的分离开。
今天继续讲述我们的接口自动化的数据的保存,或者叫数据驱动测试。
上篇文章我们把请求体封装到了一个标准的字典结构体中,
今天我们主要讲述把这个请求体中的数据拿出来,用yaml文件保存其中的数据。
这样,我们的任务就很清晰了。
接口测试的脚本只用来实现接口测试的动作,用例我们只负责组织和执行用例,断言结果成败,
那么,测试数据我们就从yaml文件中更改,不用到接口请求体的脚本中更改了。
一:导入yaml库,这个很简单,直接安装就可以了。
二:需要测试的数据复制到yaml文件中去,
如下:
上图,少了一个业务层,大家知道就好。业务层是包含多个接口步骤的,一个用例就是一个业务的实现。
三:yaml文件的书写格式,
3.1:不要有逗号,key与value之间是有要空格的。
3.2:多个接口的测试数据写到同一个yaml文件中,要有标题,用来区分不同的接口。
例如:上图中的token与create,就是两个接口的名称。
四:读取yaml文件中的数据
如图:
4.1:封装一个读取yaml文件的方法:
4.2:具体的接口中,直接调用上图的读取yaml文件的方法。
通过上面四个步骤,我们就可以实现测试数据与测试脚本的分离了,
注意yaml文件中的格式书写方式,刚开始时很容易出错的。
今天就大概的讲到这里了,下篇文章我们就要写业务层了,或者用例了,通过单元测试框架unittest来执行。
大家多练习,欢迎随时来找我交流,大家一起进步。