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多用户登录跨线程组操作传值相关推荐

  1. jmeter跨线程组传多个值_Jmeter 跨线程组传递参数 之两种方法(转)

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  2. 信息学奥赛一本通 1956:【11NOIP普及组】表达式的值 | 洛谷 P1310 [NOIP2011 普及组] 表达式的值

    [题目链接] ybt 1956:[11NOIP普及组]表达式的值 洛谷 P1310 [NOIP2011 普及组] 表达式的值 [题目考点] 表达式树 由带括号的中缀表达式构建表达式树 [解题思路] 思 ...

  3. 信息学奥赛一本通 1962:【13NOIP普及组】表达式求值 | 洛谷 P1981 [NOIP2013 普及组] 表达式求值

    [题目链接] ybt 1962:[13NOIP普及组]表达式求值 洛谷 P1981 [NOIP2013 普及组] 表达式求值 [题目考点] 栈 中缀表达式转后缀表达式,后缀表达式求值 中缀表达式求值 ...

  4. jmeter多用户登录跨线程组操作传值

    项目需求: 需要登录两个用户A.B,用户A操作完后会通知B,然后B再操作,B操作完结束或者再通知A. 实现思路: 1. 设置两个线程组Ⅰ.Ⅱ,组Ⅰ添加cookie管理器,里面添加用户A的操作:组Ⅱ添加 ...

  5. 跨线程取出控件的值的写法(不是跨线程赋予控件值)

    //这个方法是跨线程取出控件的值,不是跨线程赋予控件值private delegate void DelegateGetControl(各种参数);private void GetControl(各种 ...

  6. jmeter提取mysql返回值_jmeter连接数据库和提取数据库返回值

    一.在MySQL命令行中,验证MySQL是否能正常登陆.若不能登陆,则重置MySQL的密码. 二.下载mysql-connector-java-5.1.45-bin.jar,将其放入Jmeter安装目 ...

  7. jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参

    为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...

  8. jmeter 实际运行线程数达不到设定值_Jmeter技术知识-常用组件实战演示(2020年最新)...

    在上一篇:Jmeter系列之简介与环境安装,主要介绍Jmeter简介.环境安装及接口实战.一般在实际接口自动化过程中,会同时包含多个组件共同完成工作. 工欲善其事,必先利其器,以下介绍Jmeter一些 ...

  9. python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参...

    1.必传参数也叫做位置参数,因为必填,也必须对应位置 2.默认值参数如上图的word 3.参数组参数:传进去的是0个.或多个value的形式,,,和位置参数有点像,只传value值,但是没有限制个数 ...

最新文章

  1. 记java关键词_Java关键词及含义
  2. android行高,android – GridView的行高
  3. Windows 10系统安装JDK1.8与配置环境
  4. 计算机软件选修课选什么好,大学值得选的“选修课”,一点不比专业课差,能选上最好认真听...
  5. ORA-27300错误
  6. android 悬浮窗 输入框_利用DecorView实现悬浮窗的效果
  7. java+2e10_CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)
  8. 用PHP玩百万英雄类型游戏!!!
  9. linux tail 命令
  10. [PKUSC2018游记]
  11. 按键精灵 android,按键精灵安卓版
  12. 支付宝VS微信,谁在抄袭谁?
  13. 计算机显示无法格式化,SD卡无法格式化怎么办
  14. java获取登录内网ip地址
  15. 超混沌Lorenz系统图像加密(MATLAB)
  16. nios自学笔记四:将sof和elf合并为JIC文件
  17. docker stop all containers
  18. 中国睫毛生长液行业市场供需与战略研究报告
  19. 【追剧达人JAVA修复版】苹果CMS10原生APP修改版 影视APP源码附安装教程
  20. WorkPlus移动平台推动医院智慧信息化建设

热门文章

  1. 计算机应用基础 制作表格说课稿,职业教育:计算机应用基础类一等奖作品《Premiere视频制作初体验》说课稿.docx...
  2. posix是什么_什么是POSIX? 理查德·斯托曼(Richard Stallman)解释
  3. docs和src_《编写Docs波特兰2017》中的提示和顶级演示
  4. drupal 多语言_小小的开源机器人,Drupal的创造者,应对我们不断变化的经济,以及更多
  5. 基于React+Koa实现一个h5页面可视化编辑器-Dooring
  6. Spring Batch之批处理实践
  7. vue 修改项目启动后的页面_vue项目打包后打开页面空白解决办法
  8. java子线程的创建_Java多线程基础(一):线程的创建
  9. cdt规约报文用程序解析_用 Python 撸一个 Web 服务器第3章:使用 MVC 构建程序
  10. python中构造方法的名字,【填空题】Python提供了名称为 的构造方法,实现让类的对象完成初始化。...