HTTP接口测试还可以这么玩?

2018-01-15  何彦霖 

随着HTTP接口在IT项目的广泛应用,特别是json格式报文的兴起,测试人员对此类型的接口测试需求也越来越大。


01


现在市面上能支持HTTP接口测试的开源工具已经有很多,使用体验都算不错,但大多数的工具都是基于桌面客户端的,测试资源共享不方便也不够及时,这对于测试人员的协作来讲可是致命的。


而且,对于测试自动化来讲,定时执行调度、科学的测试用例管理也相当重要,这些目前很多市面的开源工具都没有办法做到。


LuckyFrame开源测试平台针对这些痛点进行了改进,目前已经可以支持HTTP协议的纯关键字驱动。


我们可以将基于接口的数据逻辑校验与数据正确性校验,以及部分业务逻辑校验,演化为接口测试用例,通过一个统一的入口来控制接口自动化的运行,通过日志或者报告的形式来展现。


以此来实现最大限度的减轻功能测试在这部分任务上的工作量,提高工作效率。


好了话不多说,下面就来介绍LuckyFrame是如何实现http接口自动化的。


02


在进行任何操作前,你需要一个LuckyFrame测试平台的帐号,使用帐号登录后,进入UTP模块下的“协议模板”页面,我们可以在这里进行HTTP接口协议的模板维护。主要步骤如下:


第一步:点击<新增模板>,输入接口相关的基本信息,然后保存。需要提一下的是,平台目前支持的接口协议类型包括HTTP和SOCKET,编码格式包括UTF-8和GBK。


另外:如果您需要给HTTP请求设置头域,那么在请求头域栏,按【头域参数=头域值】的格式填写,如果有多个头域参数,请使用【;】号进行分隔,如果你的头域值需要Base64格式的编码,那么可以按【头域参数=Base64(头域值)】的格式填写。


第二步:在协议模板列表中,勾选刚才新增的记录,点击<模板参数>按钮,可以对接口的请求参数进行维护。参数类型支持String、JSON对象、JSONARR对象、File对象、数字类型、布尔类型,选择你所需要的参数类型就可以了。



到此,你完成了一个http接口协议模板的添加。接下来,就可以针对这个接口,来进行接口测试用例的扩展了。


03


我们在UTP模块下的“用例管理”页面,进行测试用例的维护。


首先,点击<新增用例>按钮,填写基本信息后保存,就新增了一条用例。


接下来,我们要对用例的详细步骤进行维护。在用例列表勾选刚才新增的用例,点击<编辑步骤>按钮进入用例步骤编辑页面。记住要先将“类型”选择为HTTP,然后输入其他信息:


  • “包 | 定位路径”中输入http接口的请求地址


  • “方法 | 操作”为下拉选项,可选择接口请求方法,这里我们选择HttpClientPost


    注意:如果整个请求格式是JSON,那么你在用例选择请求类型的时候,一定要选择HttpClientPostJSON的类型,这样才会自动把你的HTTP模板格式化成JSON


  • “参数”留空,则使用协议模板中的所有默认参数值。如果需要修改默认参数值,则以“paramname1#value1|paramname2#value2|...”的格式填写此项


    注意:

    1.#用于分隔参数名称和参数值,如果要自定义多个参数,参数与参数之间则用|分隔。

    2.如果你想修改的是“请求头域”的默认值,参数名称需要以“headmsg(paramname)”的格式进行填写,示例:headmsg(Access-Token)#参数值


  •  “步骤动作”为下拉选项,可选项为自动联想的系统已有HTTP协议模板,选择我们需要的协议模板即可


  •   “预期结果”处输入我们期望的同步回执结果


下面简单示例解释


第一步:用户登录,服务器返回JSON串,其中有参数带了用户登录的token


第二步:通过自己写的一个测试驱动桩,处理服务器返回的JSON串,截取token值出来,赋值变量token(测试结果赋值写法:$=变量名)。


第三步:发送新建请求,把token值赋值到HTTP协议模板头域,完成用户鉴权。


需要增减步骤时,点击前一个步骤后的“+”“-”小图标即可,而“↑”“↓”可移动所选步骤位置。


令我们惊喜的是,我们还可以在这里直接进行用例的<调试>,可以通过调试来验证该条用例的有效性。


进行到这里,你已经知道了如何创建接口测试用例。接下来的问题,就是如何基于你的测试用例展开接口测试工作了。


04


LuckyFrame的方式,是通过把用例添加到测试计划中,通过执行测试计划来批量执行测试用例。


这些我们将在下一篇中进行介绍,有兴趣的请继续关注。感谢阅读!






477°/4775 人阅读/0 条评论 发表评论

登录 后发表评论