51Testing软件测试论坛

标题: Jmeter如何设置上一个API执行成功后再执行下一个API [打印本页]

作者: 1005731757@qq.c    时间: 2020-4-7 11:51
标题: Jmeter如何设置上一个API执行成功后再执行下一个API
本帖最后由 1005731757@qq.c 于 2020-10-20 16:57 编辑

问题如下:
     第二个API请求需要获取第一个API的返回值作为参数,但是第一个请求响应与预期结果不一致,导致第二个请求执行失败
问题:
Jmeter如何设置第一个请求成功后,再执行第二个请求,否则不执行
解决方案:


作者: corei9    时间: 2020-4-9 16:56
jmeter 默认就是按照顺序执行请求的,如果不是异步请求,第二个请求会等待第一个请求执行成功后再执行。你说的这种情况,可能是第一个请求的响应时间超过了jmeter默认的超时时间,第二个请求开始执行了,但是没有拿到第一个请求返回的参数而导致失败了。
作者: 1005731757@qq.c    时间: 2020-4-17 11:33
corei9 发表于 2020-4-9 16:56
jmeter 默认就是按照顺序执行请求的,如果不是异步请求,第二个请求会等待第一个请求执行成功后再执行。你 ...

我的意思是说  上一个请求的结果是符合我需要的才算执行成功,请求执行成功,不一定响应就是成功的

比如我要先执行登录,再执行其他请求,就需要登录成功并正确获取已登录的状态

如果登录是失败的  那么其他请求执行就肯定失败 执行没有意义所以不想执行

这种情况下  ,除了用控制器  有没有其他便捷一点的方法
作者: 王哈哈    时间: 2020-5-11 15:10

作者: 泡芙_杨    时间: 2020-5-13 17:05
ww
作者: graceasyi    时间: 2020-5-22 14:50
看看解决方案。
作者: cocohay007    时间: 2020-6-19 19:59
afdasdfadsffdsdf
作者: crazy_ldt    时间: 2020-7-6 21:44
11
作者: 郭小贱    时间: 2020-7-8 09:07
把第二个请求放在第一个请求的返回结果的判断中。
作者: zxhrjgc    时间: 2020-7-8 11:36
if
作者: wuchen111    时间: 2020-7-13 18:12
11111
作者: shangyucx    时间: 2020-7-17 16:48
看看吧
作者: yao0013    时间: 2020-8-10 14:49
应该是顺序执行的吧

作者: penggeng    时间: 2020-8-17 14:26
11
作者: duxl    时间: 2020-9-18 17:19

作者: fangzhu0    时间: 2020-9-24 09:43
看看学习下

作者: guxiaoli    时间: 2020-10-22 13:46
学习下
作者: ewoft    时间: 2020-10-29 17:14
看看解决方案
作者: 浅陌浅浅    时间: 2020-11-17 15:59
回复查看
作者: sunshine_na    时间: 2020-11-17 18:38
答案
作者: 源玖    时间: 2020-12-9 17:43
对第一个请求右击添加一个断言
作者: Miss_love    时间: 2020-12-25 09:34
看看方案

作者: pin2021    时间: 2021-9-6 16:05

作者: 35780994    时间: 2021-9-16 15:13
1;;
作者: 孤独的aaa    时间: 2022-2-22 15:55

作者: wojiushia9    时间: 2022-4-2 10:08
看看方案
作者: vvvvvvf    时间: 2022-4-25 08:46
123
作者: wokaozws    时间: 2022-7-4 11:20
看一下方案?
作者: mastersword    时间: 2022-7-5 16:36
12
作者: majo    时间: 2022-9-2 16:39
看下隐藏
作者: 呀呀呀呀呀樂    时间: 2022-10-26 11:58
看看方案
作者: wantto521    时间: 2022-11-5 23:50
看看
作者: 123qqqq    时间: 2023-1-3 12:00
查看
作者: oliver.tang    时间: 2023-1-10 17:08
1、增加一个if的逻辑控制器,使用jmeter内置函数  ${JMeterThread.last_sample_ok} ,将下一个API添加到IF控制器中,如果上一个API sample执行成功,就会执行返回true,否则返回false
2、还是增加IF逻辑控制器,但可以使用上一个接口的响应结果作为这个控制器的判断条件,如接口响应结果的code=200

作者: SimonYe    时间: 2023-8-16 09:44
看看
作者: samraul    时间: 2023-8-16 11:45
搞得这么复杂呢?
线程组Action to be taken on sample error这项勾选设置一下就行了
作者: chen645709185    时间: 2024-3-14 16:16
kan
作者: qqq911    时间: 2024-3-19 11:36
1005731757@qq.c 发表于 2020-4-17 11:33
我的意思是说  上一个请求的结果是符合我需要的才算执行成功,请求执行成功,不一定响应就是成功的

比 ...

很简单,对第一个请求加响应验证,验证返回结果是否是你需要的,在线程组里设置如果失败就下一循环。
作者: chenli111    时间: 2024-4-28 14:53
可以在登陆请求下添加断言,然后在线程组设置取样器错误后需要执行的动作为停止测试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2