MeterSphere的前后置脚本代码模版说明

一、背景
在做接口测试的时候,不可避免的会碰到需要使用脚本操作,可能是把上一个接口的变量通过脚本转换为下一个接口需要的类型,也可能是生成环境变量;
MeterSphere会提供代码模板出来供测试人员直接使用,包含到API测试、自定义变量、项目环境、自定义代码片段、异常处理
二、代码模版
1、API测试
MeterSphere的前后置脚本代码模版说明_第1张图片

这个代码模版可以把接口定义处的单接口以脚本的形式复制到前后置脚本或自定义脚本中,当运行后,可以在控制台看到打印的返回体,证明这个脚本化的接口是正常状态的
MeterSphere的前后置脚本代码模版说明_第2张图片

这时候就可以在脚本最后加一些自定义的内容,比方如果需要把脚本接口的返回体提参,就在后面加上
JSONObject data = JSONObject.parse Object(data);
String token = data.get(“token”).toString();
2、自定义变量
获取变量
vars.get(“variable_name”)
用于获取提取参数里的变量,这个很普遍
log.info(vars.get(“token”)); //打印获取的token变量
MeterSphere的前后置脚本代码模版说明_第3张图片

设置变量
vars.put(“variable_name”, “variable_value”)
用于设置提供给后续需要使用的接口新的变量
MeterSphere的前后置脚本代码模版说明_第4张图片
以上的参数必须是字符串类型,如果是非字符串使用vars.getObject和vars.putObject
MeterSphere的前后置脚本代码模版说明_第5张图片

获取响应
prev.getResponseHeaders() //获取响应头
prev.getResponseCode() //获取响应码
prev.getResponseDataAsString() //获取响应结果
MeterSphere的前后置脚本代码模版说明_第6张图片

控制台输出内容可以用脚本进行处理,比如提取键值对供后面的接口使用
MeterSphere的前后置脚本代码模版说明_第7张图片

3、项目环境
设置环境参数
vars.put(${__metersphere_env_id}+“key”,“value”);
当一个运行环境需要给多个场景使用时,不一定合适把所有接口都加入一个自动化场景中;可以将生成token的接口可以单独运行,也可以做出定时执行,无论在CASE中还是接口自动化中,后续不同场景使用这个运行环境,就无须每次都跑一遍生成token的步骤。
MeterSphere的前后置脚本代码模版说明_第8张图片

后续使用这个运行环境的接口只需要写入变量${org}即可

4、自定义代码片段
自定义代码片段
在脚本需要反复使用的场景中,自定义代码片段是体现价值的时候。
首先需要在项目设置-更多选项-自定义代码片段,创建脚本文件
MeterSphere的前后置脚本代码模版说明_第9张图片

写好的脚本可直接执行,查看返回是否正常
MeterSphere的前后置脚本代码模版说明_第10张图片
MeterSphere的前后置脚本代码模版说明_第11张图片

回到接口测试,接口定义CASE或接口自动化处处,在前后置脚本、自定义脚本或运行环境中的全局前后置脚本、脚本断言都可以在自定义代码片段处插入写好的脚本
MeterSphere的前后置脚本代码模版说明_第12张图片

例如获取signature这个脚本,当放在运行环境中的全局前置脚本-所有场景步骤前执行时,使用这个环境的接口自动化场景都会自动执行生成signature供场内接口使用
MeterSphere的前后置脚本代码模版说明_第13张图片

5、异常处理
ctx.getEngine().stopThreadNow(ctx.getThread().getThreadName());
可以用于判断接口请求结果,当接口调用失败时,就会停止此线程,后续的接口也不再执行了
MeterSphere的前后置脚本代码模版说明_第14张图片

也可以用于断言中
MeterSphere的前后置脚本代码模版说明_第15张图片

三、总结
上述只是关于脚本编写时,MeterSphere提供的一些内置模版。当然使用图形化点击的方式操作进行提取参数、断言也是可以的,MeterSphere功能很多,提供了灵活的自主编写脚本的方式和简单的图形操作方式,可以供测试人员任意选择

你可能感兴趣的:(metersphere,测试工具)