内置函数
自动化测试支持编写自定义脚本,通过自定义脚本处理入参、出参以控制测试流程。脚本语言为 Beanshell(Groovy)。系统提供了一系列内置函数,简单调用即可完成脚本编写。
创建自定义脚本
在测试流程中的“前置操作”与“后置操作”中填写自定义脚本。其中前置操作处理入参;在后置操作处理出参和流程控制。
参数处理
所有类型的参数都以参数名为 Key 获取,获取之后再赋值。在脚本中无需区分是“环境参数”、“项目参数”,直接按 Key 获取与操作即可。
vars.get("variable_name"); // 获取参数
vars.put("variable_name", "variable_value"); //参数复制
接口返回信息处理
接口请求完成后,后置操作脚本获取返回信息,处理后传给下一个接口作为入参。
String ResHeader = prev.getResponseHeaders(); //获取返回头
String ResCode = prev.getResponseCode(); //获取返回码(http_code)
String ResBody = prev.getResponseDataAsString(); //获取请求体
流程控制与异常处理
判断参数或断言情况,可终止测试
ctx.getEngine().stopThreadNow(ctx.getThread().getThreadName()); //停止测试
使用示例
被测系统登录后,Cookies 不能直接作为认证信息,需要在请求头放入 login_token
的头认证信息。login_token
的内容取自于 Cookies 的 XSRF-TOKEN
。
下文中的脚本是登录接口后,“后置操作”的自定义脚本。将展示获取接口返回头,解析后放入参数列表,传递给后续的测试步骤。
String resp_header = prev.getResponseHeaders()
for (String keys in resp_header.split("\n")){
if (keys.contains("Set-Cookie")){
values=keys.split(":")[1]
header_value=values.split(";")[0]
if(header_value.contains("eid") ){
vars.put("login_eid_1",header_value)
}
if(header_value.contains("XSRF-TOKEN")){
vars.put("login_token_1",header_value.split("=")[1])
}
}
}
问题反馈 >
2023-09-14最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。