JMeter接口依赖的情况是什么-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

JMeter接口依赖的情况是什么-创新互联

这篇文章主要介绍“JMeter接口依赖的情况是什么”,在日常操作中,相信很多人在JMeter接口依赖的情况是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JMeter接口依赖的情况是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司是专业的宝清网站建设公司,宝清接单;提供网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宝清网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

主要有两种情况:

  1. 同一线程组,不同的请求之间,需要关联。

   请求B失败了(因为需要关联),那么从请求B之前的请求,比如请求A,并且从响应数据中,

   寻找需要关联的内容,比如token、sessionid等,关联之后,作为请求B的请求数据,再次提交B请求

   JMeter接口依赖的情况是什么

   在请求A上右键--添加---后置处理器---边界提取器

JMeter接口依赖的情况是什么

   把请求B参数中的实际的token,用关联的token变量来替换

   JMeter接口依赖的情况是什么

   再次运行,关联成功,请求B成功。

2.不同线程组,不同的请求之间,有依赖关系。

测试计划结构如下:

JMeter接口依赖的情况是什么

由上图可以看出,线程组1中,有登陆接口;线程组2中,有加入购物车接口。

加入购物车请求,需要cookie,如果拿不到,就代表没有登陆,也就无法加入购物车。

一般来说,添加HTTP Cookie Manager就可以由上图可以看到,已经添加了,跟两个线程组是并列的

JMeter接口依赖的情况是什么

但是,运行之后,先执行的加入购物车接口,再执行的登陆接口,这就导致加入购物车时还没有登陆。

       JMeter接口依赖的情况是什么

  为什么没有按照顺序执行线程1和线程2呢?

   这是因为,如果测试计划下有多个线程组时,他们不是顺序执行,是同时执行,不一定是谁先谁后。

   那么,怎么样让他们按照严格的顺序来执行呢?

   在测试计划下,勾选“独立运行每个线程组”,就可以让这俩按照顺序执行了。

   JMeter接口依赖的情况是什么

   勾选之后,再次运行,严格按照顺序执行了。

   但是,加入购物车请求时,仍提示去登陆。为什么呢?

  这是因为,线程组1登陆请求的cookie,它是一个线程变量,是局部变量,作用域是它所在的线程组。

   那么,怎么让它作用于它之外的线程组呢?

   思路:把这个线程变量的值使用vars.get()取出来,然后利用props.put()放到全局变量中。

             需要注意:放入之后,需要重启jmeter,属性才能生效(线程变量无需重启)。

             重启之后,另一个线程组就可以访问这个全局变量了。

  操作如下:

   在线程组1中,对于登陆请求,添加后置处理器---BeanShell PostProcessor,代码如下:

   JMeter接口依赖的情况是什么

 上图可以看出,调整了HTTP Cookie Manager的位置,把它移动到线程1下面,但无需配置cookie

   JMeter接口依赖的情况是什么

  在线程组2下面,也添加了一个HTTP Cookie Manager,用来获取属性(全局变量)cookie22中的值。

    利用函数__P 或者 __property,取出属性(也就是这个全局变量)cookie22的值。

   注意:这里,不能使用${}这种格式来取值,因为这是属性,不是变量,所以这里只能使用函数了

    

   JMeter接口依赖的情况是什么

   JMeter接口依赖的情况是什么

   然后,在HTTP Cookie管理器中,添加这个cookie(JSESSIONID),并粘贴上函数字符串

   JMeter接口依赖的情况是什么

   为什么这里要添加一个HTTP Cookie Manager,并且手动添加cookie?

    因为如果不手动添加,cookie传不过来。

   运行,加入购物车成功。

   JMeter接口依赖的情况是什么

总结:以上,是对于不同线程组之间,cookie的传递问题的解决方法。

          同理,如果是不同线程组之间,接口有关联的情况,也是可以用这个方法。

因为以上这个例子里,登陆 和 cartby请求分别在两个线程组,所以就可以设置只运行登陆一次,但进行多次的cartby请求。

JMeter接口依赖的情况是什么

到此,关于“JMeter接口依赖的情况是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站制作公司网站,小编会继续努力为大家带来更多实用的文章!


文章标题:JMeter接口依赖的情况是什么-创新互联
网页网址:http://kswsj.cn/article/cdhhpj.html

其他资讯