API测试代码注入
2018-02-28 11:35 更新
eoLinker提供了非常强大的在线API接口测试功能,在使用之前,请先确保已经安装 eoLinker自动化测试增强插件 ,该插件为您提供了API的在线、跨域、文件以及自动化测试的功能。
接口测试的过程中经常有些参数的值是不固定的,或者是需要先进行数据处理再行发送,比如新增环境变量、对url进行转码、对参数进行加密等。相比于一般的接口测试,这些需要对参数做事先处理的接口在测试的时候更加繁琐。
对于这种类型的接口,eoLinker提供了 代码注入 功能,通过通过编写 Javascript 或 Jquery 代码帮助您在发送请求前后对数据进行处理。
其中代码注入提供了两种注入方式:
- 前置代码注入(beforeScript):通过代码改变 发送的参数;
- 后置代码注入(beforeScript):通过代码改变 返回的结果;
前置代码注入(beforeScript):
为了方便用户操作,eoLinker 前置代码注入提供了一系列的默认变量供用户操作。
API基础信息:
url:[String] API的URL
headers:[Object] 请求头部
params:[Object] 请求参数(HTTP Request Body中的参数)
query:[Object] URL中的查询字符串(?x=123&y=456...)
raw:[String] 源数据
环境变量:
baseUrl:[String] 前置url
headers:[Object] 请求头部
extraParams:[Object] 额外请求参数
globalParams:[Object] 全局变量
后置代码注入(beforeScript):
API返回结果
response:[String] 返回结果
案例一(前置代码注入):
有一个登录接口,需要传递三个参数:
- userName(用户名):普通字符串;
- userPassword(用户密码):需要使用自定义加密方法对密码进行加密(此处是aes加密)
- loginTime(登录时间):当前系统时间戳,以GET参数传递。
我们根据接口需求编写好前置用例代码
发送请求之后,可以发现相应的参数部分内容已经被修改(下图红框部分):
案例二(后置代码注入):
API的返回结果采用了AES加密,我们需要使用后置注入代码将返回结果解密,便于查看:
在后置代码注入中写好对结果进行解密的DES函数:
发送请求后,成功解密
案例三(在代码注入中使用环境变量):
在该API中,请求参数userName使用了环境变量中的全局变量{{name}}:
在前置代码注入中对环境变量进行操作:
发送请求之后,可以看到相应部分的参数已经被环境变量替换:
以上内容是否对您有帮助:
更多建议: