黄页网站推广方案,烟台网站建设维护,杭州网站设计步骤,应用软件大全在接口测试中有一个这样的场景#xff1a;登录之后#xff0c;需要进行昵称修改#xff0c;怎么实现#xff1f;
首先我们分别看下登录、昵称修改的接口说明#xff1a; 以上业务中补充一点#xff0c;昵称修改#xff0c;还需要添加请求头Authorization传登录获取的to…
在接口测试中有一个这样的场景登录之后需要进行昵称修改怎么实现
首先我们分别看下登录、昵称修改的接口说明 以上业务中补充一点昵称修改还需要添加请求头Authorization传登录获取的token值。
分析登录之后的响应结果中会返回用户id、token信息; 而更新昵称需要传参member_id、且需要请求头传token
也就是我们要想办法从“登录”的响应结果中获取到id、token信息再去传给“更新昵称”请求。
因为返回数据格式是json所以我们用JSON提取器来实现。用正则表达式提取器也可以大家可参见我之前写的文章。
01 JSON提取器设置多个变量获取多个数据
1、先添加好登录请求运行下查看登录的响应结果 调整下查看结果方式可较清晰看到响应结果中的id、token信息 JSON path表达式怎么写例如我要获取id
可写 . d a t a . i d .data.id .data.id表示根元素然后一级级属性往下去找先找到data再往下子节点找到id
也可写$…id直接从根元素去递归查找到id
获取token同理。详细的可查看之前的一篇文章。 2、右键登录请求–后置处理器–添加“JSON提取器”。 JSON提取器说明
Apply to应用范围
Default Values 缺省值匹配不到值的时候取该值可写error。
Names of created variables 接收值的变量名自定义多个变量用分号分隔
JSON Path expression json path表达式也是用分号分隔
Match No.(0 for Random) 0表示随机n取第几个匹配值-1匹配所有。若只要获取到匹配的第一个值则填写1
Compute concatenation var(suffix_ALL): 如果找到许多结果则插件将使用’ 分隔符将它们连接起来并将其存储在名为 _ALL的var中
为了检查通过json提取器是否正常获取到值可添加Debug PostProcessor来检查注意正常跑用例时删除或禁用它。 对比登录返回的结果能看到已经正常获取到idtoken。
3、添加“修改昵称”请求将json提取器获取到的值进行变量引用。运行脚本更改昵称成功。 02 JSON提取器设置1个变量获取多个数据
我们也会碰到获取一个变量但结果是多个数据的情况。
1、例如“获取用户列表”先来看下“获取用户列表”的响应结果。 如果想要获取到这里所有的用户idjson路径表达式怎么写呢
. . i d 或者 ..id或者 ..id或者.data[*].id 2、添加JSON提取器获取所有用户id信息。 添加Debug PostProcessor来调试用正常跑用例删除或禁用它。可查看到获取到了所有用户id值。通过id_1,…id_22可得到每一个id。 3、将获取到每一个用户id循环进行“用户流水记录”查看结果
1添加循环控制器设置循环次数。 2在循环控制器之下添加“用户流水记录”请求并做以下设置。 因为要把JSON提取器中匹配到的id_1,…id_22循环传递给“用户流水记录”__counter为jmeter自带的一个计数函数${__counter(,)}引用这个函数每运行1次1从1开始
id_${__counter(,)}运行第1次id_1运行第2次id_2以此类推直到运行到循环次数id_22;
_V为jmeter自带的一个嵌套变量函数运行第1次idKaTeX parse error: Expected group after _ at position 2: {_̲_counter(,)}为id…{_V(idKaTeX parse error: Expected group after _ at position 2: {_̲_counter(,)},)}…{id_1}值80;以此类推一直循环到${id_22} 以上为jmeter工具栏tools–函数助手对话框界面可以去选择帮助查看对应函数的功能说明。
3运行后可查看到结果 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你