当前位置: 首页 > wzjs >正文

三个律师做网站合适吗太原seo网站管理

三个律师做网站合适吗,太原seo网站管理,网站建设费 账务处理,无后台基础怎么建设网站JMeter-Websocket接口自动化 结构图 1.准备2.实现思路2.1 通过HTTP请求获取token2.2 设置循环控制、断言变量2.3 建立WebSocket连接2.4 设置While循环控制读取CSV文件数据2.4.1 csv文件设置,一般这样设置参数即可变量名称:message,expected_steps 2.5 设…

JMeter-Websocket接口自动化

        • 结构图
    • 1.准备
    • 2.实现思路
      • 2.1 通过HTTP请求获取token
      • 2.2 设置循环控制、断言变量
      • 2.3 建立WebSocket连接
      • 2.4 设置While循环控制读取CSV文件数据
        • 2.4.1 csv文件设置,一般这样设置参数即可
          • 变量名称:message,expected_steps
      • 2.5 设置websocket请求体数据
      • 2.6 设置循环来保证接收到需要的响应(排除ping响应的影响)
        • JSR223后置处理脚本(从正确响应中拆解出需要的数据):
        • JSR223断言(从正确响应中拆解出需要的数据):
      • 2.7 进行安全处理,关闭websocket连接和确保循环终止(保险)
    • 3.csv文件格式
    • 4.结果查看和输出

结构图

在这里插入图片描述

1.准备

提前安装好JMeter Plugins Manager,后续用的到部分组件需要通过插件管理器安装,比如JSR断言、WebSocket Open Connection等组件

2.实现思路

2.1 通过HTTP请求获取token

token有过期时间,每次手动设置较为麻烦,故通过组件每次运行获取新的token

在这里插入图片描述

2.2 设置循环控制、断言变量

也有每次循环重置变量的作用,避免变量结果复用

在这里插入图片描述

2.3 建立WebSocket连接

WebSocket连接实在HTTP请求的基础上建立的,也就是在HTTP请求中高速对方,我要和你建立websocket连接,所以必要的HTTP请求头参数要带上

在这里插入图片描述
在这里插入图片描述

2.4 设置While循环控制读取CSV文件数据

2.4.1 csv文件设置,一般这样设置参数即可

在这里插入图片描述

变量名称:message,expected_steps

对应vars中的变量,变量值是根据分隔带JMeter自动处理的,变量名称 数量和分隔后的变量值 数量不对应也没影响,两者缺少的值会忽略或者设置为空值

2.5 设置websocket请求体数据

在这里插入图片描述

2.6 设置循环来保证接收到需要的响应(排除ping响应的影响)

在这里插入图片描述

JSR223后置处理脚本(从正确响应中拆解出需要的数据):

脚本是类似C语言的执行模式,方法在前,调用在后

import org.json.JSONObject;
import org.json.JSONArray;// 解析read的响应数据为json格式
public JSONObject parseResponse(String response) {try {JSONObject jsonResponse = new JSONObject(response);return jsonResponse;} catch (Exception e) {log.info("解析read结果失败: " + e.getMessage());return null;}
}// 判断action是否为chat
public Boolean processAction(JSONObject jsonResponse) {try{if (jsonResponse.has("action") && jsonResponse.get("action").toString().equals("chat")) {return true;} else {return false;}}catch (Exception e) {System.err.println("processAction发生异常: " + e.getMessage());return false;}	
}// 获取read结果的steps
public List<String> getStepsList(JSONObject jsonResponse){// 解析实际步骤List<String> actualSteps = new ArrayList<>();try{JSONArray plan = jsonResponse.getJSONObject("xxxx").getJSONObject("data");for (int i=0; i<plan.length(); i++) {JSONArray steps = plan.getJSONObject(i).getJSONArray("steps");for (int j=0; j<steps.length(); j++) {actualSteps.add(steps.getJSONObject(j).getString("xxxx"));}}}catch (Exception e) {log.info("获取steps失败: " + e.getMessage());}return actualSteps;
}// 获取csv文件中的预期步骤
public List<String> getExpectedStepsList(){return Arrays.asList(vars.get("expected_steps").split(";"));
}// 比较预期步骤和实际步骤是否符合
public Boolean getComparisonResult(List<String> actualSteps,List<String> expectedSteps){//比较方法return actualSteps.equals(expectedSteps);
}// 获取原始响应
String response = prev.getResponseDataAsString();// read的响应数据转为json格式
JSONObject jsonResponse = parseResponse(response);// 仅处理action:chat的响应
if (processAction(jsonResponse)) {// 解析实际步骤List<String> actualSteps = getStepsList(jsonResponse);// 获取预期步骤List<String> expectedSteps = getExpectedStepsList();// 对比数据Boolean temp = getComparisonResult(actualSteps,expectedSteps);// 实际与预期不符if(!temp){// 存储实际、预期数据vars.putObject("actualSteps", actualSteps);vars.putObject("expectedSteps", expectedSteps);// 标记需要断言vars.put("isAsser","true");}vars.put("isValidResponse", "true"); // 标记有效响应(停止读取流数据,进入下个案例循环)
}
JSR223断言(从正确响应中拆解出需要的数据):
// 断言
if ("true".equals(vars.get("isAsser"))) {// 获取测试数据List<String> expectedSteps = vars.getObject("expectedSteps");List<String> actualSteps = vars.getObject("actualSteps");String msg = vars.get("message");String actualStepsString = actualSteps.toString();String expectedStepsString = expectedSteps.toString();AssertionResult.setFailure(true); // 标记断言失败AssertionResult.setFailureMessage("案例 " + msg + " 预期不符\n" + "\t实际步骤:"+ actualStepsString + "\n" + "\t预期步骤:" + expectedStepsString);// 添加调试信息log.info("当前案例: {},与预期不符合", vars.get("message"));log.info("实际步骤列表: {}", actualSteps.toString());log.info("预期步骤列表: {}", expectedSteps.toString());
}

2.7 进行安全处理,关闭websocket连接和确保循环终止(保险)

在这里插入图片描述

3.csv文件格式

在这里插入图片描述

4.结果查看和输出

在这里插入图片描述

http://www.dtcms.com/wzjs/200413.html

相关文章:

  • wordpress 反馈表温州企业网站排名优化
  • 河北提供网站制作公司电话武汉官网优化公司
  • 网站搜索条怎么做站长工具seo综合查询论坛
  • 网站上线多少钱专业地推团队
  • 网站怎么做关键词赛事资讯赛马资料
  • 哪里有网站建设企业免费下载百度到桌面
  • 个人做外贸网站平台有哪些深圳网络推广代运营
  • 未来做那个网站能致富青岛关键词优化seo
  • 深圳网站建设 公司网页关键词排名优化
  • ps做电商网站图标seo优化关键词排名优化
  • 遵义网站建设辽宁seo推广
  • 做有弹幕视频网站不属于网络推广方法
  • 可信的专业网站建设在线网页制作
  • 哈尔滨建设网官方网站推广接单平台
  • 具有口碑的柳州网站建设推荐沈阳网站关键词排名
  • 中国建筑招聘2022菏泽地网站seo
  • 中冶东北建设网站地推接单平台网
  • 石家庄房产信息网站石家庄seo网络推广
  • 宿迁网站建设公司关键词优化如何做
  • 女和女做网站百度账号免费注册
  • 新手如何做英文网站赚美元培训机构网站设计
  • 手机搭建电脑做的网站免费网站建站页面
  • 设计工作室取什么名字好南昌seo方案
  • 私人让做彩票网站吗新乡seo优化
  • 商务网站建设概念软文推广500字
  • 个人网站主页怎么做怎样在百度上发布免费广告
  • 网站制作新手网络推广平台
  • 重庆巴南网站制作揭阳新站seo方案
  • 长春做网站要多少钱企业培训课程分类
  • 宾馆在什么网站做推广效果好免费网站谁有靠谱的