jmeter跨线程组传多个值_jmeter多用户登录跨线程组操作传值
false
false
Content-Type
application/json; charset=UTF-8
C:\interfaceauto\a.csv
MyVar_
,
0
false
ip
${MyVar_ip}
=
port
${MyVar_port}
=
protocol
${MyVar_protocol}
=
agentId
${MyVar_agentId}
=
第一视角坐席,自动接听
phoneNum
${MyVar_phoneNum}
=
第一视角坐席,自动接听
callerDigits
${MyVar_callerDigits}
=
calledDigits
${MyVar_calledDigits}
=
设置自动接听,micsip
skillIds1
${MyVar_skillIds1}
=
skillIds2
${MyVar_skillIds2}
=
sleepLogin
${MyVar_sleepLogin}
=
sleepLogout
${MyVar_sleepLogout}
=
sleepPoll
${MyVar_sleepPoll}
=
sleepPollagin
${MyVar_sleepPollagin}
=
sleepNormal
${MyVar_sleepNormal}
=
agentId_1
${MyVar_agentId_1}
=
需要设置手动接听
phoneNum_1
${MyVar_phoneNum_1}
=
需要设置手动接听
calledDigits_1
${MyVar_calledDigits_1}
=
需要设置手动接听,sip
agentId_2
${MyVar_agentId_2}
=
备用,自动接听
phoneNum_2
${MyVar_phoneNum_2}
=
备用,自动接听
calledDigits_2
${MyVar_calledDigits_2}
=
备用,自动接听
calloutpath
${MyVar_calloutpath}
=
用户呼入exe路径
calldownpath
${MyVar_calldownpath}
=
用户挂机exe路径
continue
false
1
1
0
1496284305000
1496284305000
false
false
standard
org.apache.jmeter.protocol.http.control.HC4CookieHandler
true
false
{
"ccId": "1",
"agentId": "${agentId_2}",
"agentState": "4",
"skillIds": [
"${skillIds1}",
"${skillIds2}" ],
"isAutoAnswer": true,
"opserialNo": 1,
"phoneNum": "${phoneNum_2}" }
=
${ip}
${port}
${protocol}
UTF-8
/ccacs/ws/agent/login
POST
true
false
true
false
true
sessionid1
JSESSIONID=(.*);
$1$
0
$.result
0
true
false
false
false
${sleepLogin}
true
false
{
"callerDigits":"10086",
"calledDigits":"${calledDigits_2}" }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/callout
POST
true
false
true
false
callId
$.callId
BODY
false
//String callId = bsh.args[0];
//print (callId);
//System.out.println("userPhone="+ callId);
${__setProperty(newcallId,${callId},)}
$.result
0
true
false
false
false
1000
当另一线程传过来的值 ${__javaScript("${__P(newstatus,)}"!="1")}时结束循环
${__javaScript(${__P(newstatus,)}==1)}
3000
false
true
false
false
System.out.println("userPhone=等待应答result" + "${__P(newstatus,)}");
//System.out.println("userPhone=222" + "${__P(newcallId,)}");
1
20
1
count
false
${count}==20
false
${__setProperty(newstatus,0,)}
false
true
false
{
"callId":${__P(newcallId,)}} }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/answer
POST
true
false
true
false
$.result
0
true
false
false
false
true
false
{
"callId":${callId} }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/releasecall
POST
true
false
true
false
${sleepNormal}
$.result
0
true
false
false
false
true
false
=
${ip}
${port}
${protocol}
/ccacs/ws/event/poll
POST
true
false
true
false
${sleepPoll}
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.*;
import com.jmeter.*;
listexc = new ArrayList();
listexc.add(351);
listexc.add(301);
listexc.add(302);
listexc.add(304);
listexc.add(305);
listexc.add(306);
list = new ArrayList();
flag ="false";
if ((prev.getResponseCode() != null)&& (prev.getResponseCode().equals("200") == true)) {
String json = prev.getResponseDataAsString();
JSONObject jo = JSON.parseObject(json);
if(jo.containsKey("events")) {
JSONArray ja = jo.getJSONArray("events");
if(ja.size()>0) {
flag ="true";
for(int i = 0;i<ja.size();i++) {
System.out.println(ja.get(i));
JSONObject joe = ja.getJSONObject(i);
System.out.println(joe.get("eventId"));
list.add(joe.get("eventId"));
}
System.out.println(list.size());
System.out.println(new EventCompare().compare(listexc,list));
if(!new EventCompare().compare(listexc,list)){
Failure = true;
FailureMessage ="事件校验失败,预期结果和实际结果不一致,预期事件:"+listexc+" ,实际事件:"+list;
}
}else{
flag ="false";
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有eventId";
}
vars.put("result",flag);
System.out.println(list.size());
/*
System.out.println(listexc.containsAll(list));
if(listexc.containsAll(list)) {
Failure = true;
FailureMessage ="事件校验失败";
}
*/
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有events";
}
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回空";
}
false
"${result}"=="false"
false
true
false
=
${ip}
${port}
${protocol}
/ccacs/ws/event/poll
POST
true
false
true
false
${sleepPollagin}
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.*;
import com.jmeter.*;
listexc = new ArrayList();
listexc.add(351);
listexc.add(301);
listexc.add(302);
listexc.add(304);
listexc.add(305);
listexc.add(306);
list = new ArrayList();
flag ="false";
if ((prev.getResponseCode() != null)&& (prev.getResponseCode().equals("200") == true)) {
String json = prev.getResponseDataAsString();
JSONObject jo = JSON.parseObject(json);
if(jo.containsKey("events")) {
JSONArray ja = jo.getJSONArray("events");
if(ja.size()>0) {
flag ="true";
for(int i = 0;i<ja.size();i++) {
System.out.println(ja.get(i));
JSONObject joe = ja.getJSONObject(i);
System.out.println(joe.get("eventId"));
list.add(joe.get("eventId"));
}
System.out.println(list.size());
System.out.println(new EventCompare().compare(listexc,list));
if(!new EventCompare().compare(listexc,list)){
Failure = true;
FailureMessage ="事件校验失败,预期结果和实际结果不一致,预期事件:"+listexc+" ,实际事件:"+list;
}
}else{
flag ="false";
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有eventId";
}
//vars.put("result",flag);
System.out.println(list.size());
/*
System.out.println(listexc.containsAll(list));
if(listexc.containsAll(list)) {
Failure = true;
FailureMessage ="事件校验失败";
}
*/
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有events";
}
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回空";
}
false
true
false
{"reasonCode": "0"}
=
${ip}
${port}
${protocol}
UTF-8
/ccacs/ws/agent/logout
POST
true
false
true
false
$.result
0
true
false
false
false
${sleepLogout}
continue
false
1
1
1
4084391880000
4084391880000
false
3
false
standard
org.apache.jmeter.protocol.http.control.HC4CookieHandler
result_zhxj
1
=
赋初始值,后续会有新值
true
false
{
"ccId": "1",
"agentId": "${agentId}",
"agentState": "4",
"skillIds": [
"${skillIds1}",
"${skillIds2}" ],
"isAutoAnswer": true,
"opserialNo": 1,
"phoneNum": "${phoneNum}" }
=
${ip}
${port}
${protocol}
UTF-8
/ccacs/ws/agent/login
POST
true
false
true
false
true
sessionid1
JSESSIONID=(.*);
$1$
0
$.result
0
true
false
false
false
${sleepLogin}
false
${__setProperty(newstatus,${result4internalhelp},)}
//String callId = bsh.args[0];
//print (callId);
//System.out.println("userPhone="+ callId);
${__setProperty(newstatus,${result_zhxj},)}
true
false
{
"callerDigits":"10086",
"calledDigits":"${calledDigits}" }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/callout
POST
true
false
true
false
${sleepPoll}
callId
$.callId
BODY
false
//String callId = bsh.args[0];
//print (callId);
//System.out.println("userPhone="+ callId);
${__setProperty(newcallId,${callId},)}
$.result
0
true
false
false
false
true
false
{
"deviceType":"2",
"dialedDigits":"${agentId_2}",
"consultMode":"1" }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/internalhelp
POST
true
false
true
false
$.result
-1
true
false
false
false
result_zhxj
$.result
555
BODY
false
${__setProperty(newstatus,${result4internalhelp},)}
//String callId = bsh.args[0];
//print (callId);
//System.out.println("userPhone="+ callId);
${__setProperty(newstatus,${result_zhxj},)}
1000
true
false
=
${ip}
${port}
${protocol}
/ccacs/ws/event/poll
POST
true
false
true
false
${sleepPoll}
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.*;
import com.jmeter.*;
listexc = new ArrayList();
listexc.add(351);
listexc.add(302);
listexc.add(304);
list = new ArrayList();
flag ="false";
if ((prev.getResponseCode() != null)&& (prev.getResponseCode().equals("200") == true)) {
String json = prev.getResponseDataAsString();
JSONObject jo = JSON.parseObject(json);
if(jo.containsKey("events")) {
JSONArray ja = jo.getJSONArray("events");
if(ja.size()>0) {
flag ="true";
for(int i = 0;i<ja.size();i++) {
System.out.println(ja.get(i));
JSONObject joe = ja.getJSONObject(i);
System.out.println(joe.get("eventId"));
list.add(joe.get("eventId"));
}
System.out.println(list.size());
System.out.println(new EventCompare().compare(listexc,list));
if(!new EventCompare().compare(listexc,list)){
Failure = true;
FailureMessage ="事件校验失败,预期结果和实际结果不一致,预期事件:"+listexc+" ,实际事件:"+list;
}
}else{
flag ="false";
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有eventId";
}
vars.put("result",flag);
System.out.println(list.size());
/*
System.out.println(listexc.containsAll(list));
if(listexc.containsAll(list)) {
Failure = true;
FailureMessage ="事件校验失败";
}
*/
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有events";
}
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回空";
}
false
"${result}"=="false"
false
true
false
=
${ip}
${port}
${protocol}
/ccacs/ws/event/poll
POST
true
false
true
false
${sleepPollagin}
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.*;
import com.jmeter.*;
listexc = new ArrayList();
listexc.add(351);
listexc.add(302);
listexc.add(304);
list = new ArrayList();
flag ="false";
if ((prev.getResponseCode() != null)&& (prev.getResponseCode().equals("200") == true)) {
String json = prev.getResponseDataAsString();
JSONObject jo = JSON.parseObject(json);
if(jo.containsKey("events")) {
JSONArray ja = jo.getJSONArray("events");
if(ja.size()>0) {
flag ="true";
for(int i = 0;i<ja.size();i++) {
System.out.println(ja.get(i));
JSONObject joe = ja.getJSONObject(i);
System.out.println(joe.get("eventId"));
list.add(joe.get("eventId"));
}
System.out.println(list.size());
System.out.println(new EventCompare().compare(listexc,list));
if(!new EventCompare().compare(listexc,list)){
Failure = true;
FailureMessage ="事件校验失败,预期结果和实际结果不一致,预期事件:"+listexc+" ,实际事件:"+list;
}
}else{
flag ="false";
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有eventId";
}
//vars.put("result",flag);
System.out.println(list.size());
/*
System.out.println(listexc.containsAll(list));
if(listexc.containsAll(list)) {
Failure = true;
FailureMessage ="事件校验失败";
}
*/
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回没有events";
}
}else {
Failure = true;
FailureMessage ="事件校验失败,轮询接口返回空";
}
false
true
false
{
"callId":${callId} }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/releasecall
POST
true
false
true
false
${sleepPollagin}
$.result
0
true
false
false
false
true
false
{
"callId":${callId} }
=
${ip}
${port}
${protocol}
/ccacs/ws/call/releasecall
POST
true
false
true
false
"time":"","dsn":874951945,"handle":"","server":""
${sleepPollagin}
$.result
0
true
false
false
false
true
false
{"reasonCode": "0"}
=
${ip}
${port}
${protocol}
UTF-8
/ccacs/ws/agent/logout
POST
true
false
true
false
$.result
0
true
false
false
false
${sleepLogout}
false
saveConfig
true
true
true
true
true
true
true
true
true
false
true
true
false
false
false
true
false
false
false
true
0
true
true
true
true
true
false
saveConfig
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
false
true
0
true
true
true
true
true
true
true
true
true
true
jmeter跨线程组传多个值_jmeter多用户登录跨线程组操作传值相关推荐
- jmeter跨线程组传多个值_Jmeter 跨线程组传递参数 之两种方法(转)
终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...
- 信息学奥赛一本通 1956:【11NOIP普及组】表达式的值 | 洛谷 P1310 [NOIP2011 普及组] 表达式的值
[题目链接] ybt 1956:[11NOIP普及组]表达式的值 洛谷 P1310 [NOIP2011 普及组] 表达式的值 [题目考点] 表达式树 由带括号的中缀表达式构建表达式树 [解题思路] 思 ...
- 信息学奥赛一本通 1962:【13NOIP普及组】表达式求值 | 洛谷 P1981 [NOIP2013 普及组] 表达式求值
[题目链接] ybt 1962:[13NOIP普及组]表达式求值 洛谷 P1981 [NOIP2013 普及组] 表达式求值 [题目考点] 栈 中缀表达式转后缀表达式,后缀表达式求值 中缀表达式求值 ...
- jmeter多用户登录跨线程组操作传值
项目需求: 需要登录两个用户A.B,用户A操作完后会通知B,然后B再操作,B操作完结束或者再通知A. 实现思路: 1. 设置两个线程组Ⅰ.Ⅱ,组Ⅰ添加cookie管理器,里面添加用户A的操作:组Ⅱ添加 ...
- 跨线程取出控件的值的写法(不是跨线程赋予控件值)
//这个方法是跨线程取出控件的值,不是跨线程赋予控件值private delegate void DelegateGetControl(各种参数);private void GetControl(各种 ...
- jmeter提取mysql返回值_jmeter连接数据库和提取数据库返回值
一.在MySQL命令行中,验证MySQL是否能正常登陆.若不能登陆,则重置MySQL的密码. 二.下载mysql-connector-java-5.1.45-bin.jar,将其放入Jmeter安装目 ...
- jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参
为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...
- jmeter 实际运行线程数达不到设定值_Jmeter技术知识-常用组件实战演示(2020年最新)...
在上一篇:Jmeter系列之简介与环境安装,主要介绍Jmeter简介.环境安装及接口实战.一般在实际接口自动化过程中,会同时包含多个组件共同完成工作. 工欲善其事,必先利其器,以下介绍Jmeter一些 ...
- python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参...
1.必传参数也叫做位置参数,因为必填,也必须对应位置 2.默认值参数如上图的word 3.参数组参数:传进去的是0个.或多个value的形式,,,和位置参数有点像,只传value值,但是没有限制个数 ...
最新文章
- 记java关键词_Java关键词及含义
- android行高,android – GridView的行高
- Windows 10系统安装JDK1.8与配置环境
- 计算机软件选修课选什么好,大学值得选的“选修课”,一点不比专业课差,能选上最好认真听...
- ORA-27300错误
- android 悬浮窗 输入框_利用DecorView实现悬浮窗的效果
- java+2e10_CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)
- 用PHP玩百万英雄类型游戏!!!
- linux tail 命令
- [PKUSC2018游记]
- 按键精灵 android,按键精灵安卓版
- 支付宝VS微信,谁在抄袭谁?
- 计算机显示无法格式化,SD卡无法格式化怎么办
- java获取登录内网ip地址
- 超混沌Lorenz系统图像加密(MATLAB)
- nios自学笔记四:将sof和elf合并为JIC文件
- docker stop all containers
- 中国睫毛生长液行业市场供需与战略研究报告
- 【追剧达人JAVA修复版】苹果CMS10原生APP修改版 影视APP源码附安装教程
- WorkPlus移动平台推动医院智慧信息化建设
热门文章
- 计算机应用基础 制作表格说课稿,职业教育:计算机应用基础类一等奖作品《Premiere视频制作初体验》说课稿.docx...
- posix是什么_什么是POSIX? 理查德·斯托曼(Richard Stallman)解释
- docs和src_《编写Docs波特兰2017》中的提示和顶级演示
- drupal 多语言_小小的开源机器人,Drupal的创造者,应对我们不断变化的经济,以及更多
- 基于React+Koa实现一个h5页面可视化编辑器-Dooring
- Spring Batch之批处理实践
- vue 修改项目启动后的页面_vue项目打包后打开页面空白解决办法
- java子线程的创建_Java多线程基础(一):线程的创建
- cdt规约报文用程序解析_用 Python 撸一个 Web 服务器第3章:使用 MVC 构建程序
- python中构造方法的名字,【填空题】Python提供了名称为 的构造方法,实现让类的对象完成初始化。...