数据驱动就是数据的不同造成结果的不同,比如登录接口,我们要测试账号正确,密码为空,密码错误等多种情况,这时候我们就会思考可不可以将这些数据放到一个文件中,然后让一个接口循环读取这个文件里的数据去执行,答案是可以的,我们先创建文件数据和接口。
1)生成并解析数据文件
在这里我们以一个登陆api接口为例,下图为需要导入到postman的csv数据文件,Collection Runner里可以导入一个csv或json文件。数据文件中,登陆所需要的数据为登陆账户email和登录密码password,断言需要校验的数据有:HTTP响应状态码http_response,返回码response_code以及返回信息msg,case_name是描述我们这一组数据的测试点,也可以忽略。
2)关联参数到数据文件中的数据
我们的目标就是将数据文件中的5个参数,分别关联到请求数据和断言数据中,在这里有两种方法:
- 请求参数可以通过添加为本地变量{{var}}来引用;
- 断言中的数据,由于是在Tests中写入的脚本,不能直接通过{{var}}来引用,所以需要引用postman的相关API进行调用,如:pm.variables.get(“var”);
登录接口请求体参数化,修改登录接口的请求数据,如图所示:
注意:参数名称要和数据文件中的名称保持一致。
这样的话,即使我们对登录接口或者测试数据进行了改动,也能够读取到数据文件中的测试数据。
3)选择测试案例和数据文件
点击Runner进行用例执行界面,选择需要测试的测试案例“登录情况”,然后点击Data Select File数据文件da.csv,选择成功后的效果如图所示。
注意:在点击run执行用例之前,有一步一定要做,就是点击Preview查看导入的数据,如果数据文件不能Preview,出现乱码的问题,都一定要解决,不然后面的用例执行极有可能会失败。
4)点击运行,查看结果
运行完成后,发现一个登陆接口执行的3次,比我们分开设计3个测试用例要简便很多,postman每次迭代,都会自动读取下一行数据,这样就很好的实现了,通过3组不同数据,完成3个不同测试点的验证。