工具有便捷性,框架有灵活性,正确地混合使用它们,实质上就可以搭建起一个接口测试平台,帮你更快速地完成测试任务。两个好处。
一是能充分发挥 Postman 界面化的优势,快速完成大量的脚本撰写工作;二是通过你自己 的框架完成测试脚本的执行,所有的过程代码都会存储到你自己的代码仓,这样,既可以留 下测试的过程资产,也便于版本控制,这也为持续集成、持续交付等平台提供了无人值守 的、按需驱动测试的途径。
通过工具和框架搭建接口测试平台,其实就是一个很好的解决方案。这样,你既可以让你的 团队有技术积累,又能给团队中一些编码能力比较薄弱的小伙伴学习时间,最重要的一点是,这不会影响整个工作的进度。
选择第一个单接口接口测试的脚本,在右侧点击 Code 按 钮。在弹出框中,你可以选择各式各样技术栈的测试脚本,在这里,我们还是用在之前例子中所 选取的 Python,我们框架的依赖库是 Requests,这样你就可以看到显示出的代码了。如下图所示。看到这些代码,你是不是已经开始觉得,通过这样的处理来编写脚本更加容 易。由此可见,和写代码相比,使用 Postman 来设计接口测试要更容易使用,对于代码基础比 较薄弱的测试工程师来说,这种方法也更容易掌握。框架的灵活性亦可得。
现在,我们一起看一看由工具生成的代码。先来看看第一个接口首页单接口对应的代码:
import requestsurl = "http://127.0.0.1:12356"headers ={ 'cache-control': "no-cache", 'Postman-Token': "8c6247bb-744a-43d3-b27d-9e51af923c5d"}response = requests.request("GET", url, headers=headers)print(response.text)
上面的这个代码你是不是似曾相识?这就和我们第一次写的第一个接口的单接口测试代码一 样,是一个流水账一样的脚本,这些代码如果原模原样地存到你的代码仓中,对你再次使用它没什么好处。那么在这基础上,我们可以将它修改成自己框架的脚本,就如下面这段代码 所示:
# 引入你的框架from common import Common#访问uriuri_index = "/"#调用你的Common类comm = Common('http://127.0.0.1:12356')# 完成方法response_login = comm.get(uri_index)# 打印response结果print('Response内容:' + response_login.text)
这个代码你是不是很亲切?Common 类可是我们的老朋友了。那么接下来,我们再看看第 二个接口登录的单接口测试脚本,你可以用相同的方法,找到它的 Python 代码,为了方便 有些不是很方便打开自己 Postman 的同学,我把对应的代码放到了下面:
import requests url = "http://127.0.0.1:12356/login"payload = "username=criss&password=criss"headers = {'cache-control': "no-cache",'Postman-Token': "fdc805e1-4406-4191-ae44-ab002e475e03" } response = requests.request("POST", url, data=payload, headers=headers)print(response.text)
我们在上面代码的基 础上,将其修改成引入我们自己框架的测试代码,完成修改后,再推送到接口测试项目的代 码仓中,就如下面这个代码所示:
from common import Commonuri = "/login"payload = "username=criss&password=criss"comm = Common('http://127.0.0.1:12356')response_login = comm.post(uri_login,params=payload)print('Response内容:' + response_login.text)
以 Postman 工具和你自己的框架相结合的例子,告诉你如何建立一个你自己的测试 平台,你可以通过三步完成工具加框架的组合方式:
- 借助 Postman 这类工具的易学、易操作的特点,将它变成你测试脚本中快速创建的脚本 撰写工具;
- 利用工具提供的导出代码功能,将其导出成我们流程化的测试代码;
- 通过我们自己的框架,改写我们通过工具导出的脚本。
最后,你的测试脚本可以存入代码仓中为持续集成平台提供持续验证,这就完成了一套简单又灵活的接口测试平台的建设!