1.使用xpath Extractor提取页面值

2.使用 JSR223 PostProcessor拼接json数据

function genJsons() {
var MaterialName = vars.get("MaterialName");
var cnt = vars.get("supplierMaterialId_matchNr");
var tabs = "\t";
var actualQuantity="";
var deliveryAttr="";
var id1 = "";
var supplierMaterialId = "";
var supplyId = "";
var materialId = "";
var secondNum = "";
var supplierMaterialName = "";
var spce="";
var amountUnit="";
var otherQuantity="";
var supplierMaterialUnits="";
var rtn = "";
var supplyName="";
for (var i=1; i <= cnt; i++) {
id1 = vars.get("id1_" + i);
supplierMaterialId = vars.get("supplierMaterialId_" + i );
supplyId = vars.get("supplyId_" + i );
materialId = vars.get("materialId_" + i );
secondNum = vars.get("secondNum_" + i );
supplierMaterialName = vars.get("supplierMaterialName_" + i );
actualQuantity=vars.get("actualQuantity_"+i);
deliveryAttr=vars.get("deliveryAttr_"+i);
spce=vars.get("spce_"+i+"_g1");
if(spce==null)
spce="";
amountUnit=vars.get("amountUnit_"+i);
otherQuantity=vars.get("otherQuantity_"+i);
supplierMaterialUnits=vars.get("supplierMaterialUnits_"+i);
amountUnit=vars.get("amountUnit_"+i);
otherQuantity=vars.get("otherQuantity_"+i);
supplyName=vars.get("supplyName_"+i);
if(actualQuantity==0&&supplierMaterialUnits=="公斤")
{
actualQuantity=1;
otherQuantity=1;
}
// if(supplierMaterialUnits=="包")
// supplierMaterialUnits="\n\t\t\t\t\t\t\t\t\t\t\t\t\t包\n\t\t\t\t\t\t\t";
// else if(supplierMaterialUnits=="公斤")
// supplierMaterialUnits="\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t公斤\n\t\t\t\t\t\t\t";
log.info("cnt:" + i);
log.info("id1:" + id1);
log.info("supplierMaterialId:" + supplierMaterialId);
log.info("supplyId:" + supplyId);
log.info("materialId:" + materialId);
log.info("secondNum:" + secondNum);
log.info("supplierMaterialName:" + supplierMaterialName);
rtn = rtn + "{\"actualQuantity\":\""+actualQuantity+"\"," + "\n" +
tabs + "\"deliveryAttr\":\""+deliveryAttr+"\"," + "\n" +
tabs + "\"supplierMaterialId\":\"" + supplierMaterialId + "\"," + "\n" +
tabs + "\"id\":\"" + id1 +"\"," + "\n" +
tabs + "\"supplyId\":\"" + supplyId + "\"," + "\n" +
tabs + "\"materialId\":\"" + materialId + "\"," + "\n" +
tabs + "\"secondNum\":\"" + secondNum + "\"," + "\n" +
tabs + "\"supplierMaterialName\":\"" + supplierMaterialName + "\"," + "\n" +
tabs + "\"spce\":\""+spce+"\"," + "\n" +
tabs + "\"amountUnit\":\""+amountUnit+"\"," + "\n" +
tabs + "\"otherQuantity\":\""+otherQuantity+"\"," + "\n" +
tabs + "\"supplierMaterialUnits\":\""+supplierMaterialUnits+"\"," + "\n" +
tabs + "\"supplyName\":\""+supplyName+"\"" + "\n" +
tabs + "},"+"\n"
}
//return rtn;
log.info(rtn);
var rtns=rtn.substring(0,rtn.length-2);
//var rtns=rtn.replace("},","}");
return rtns;
}; vars.put("jsonString", genJsons());

 3.使用json数据请求

jmete JSR223 PostProcessor使用的更多相关文章

  1. JSR223 PostProcessor VS BeanShell PostProcessor in JMeter

    I would recommend using JSR223 PostProcessor About performance: In JMeter's official user manual, Ab ...

  2. 2.Jmeter 如何在jsr223 脚本中停止测试任务

    Jmeter 如何在jsr223 脚本中停止测试任务 在可以直接引用ctx的变量的processor中可以执行如下脚本即可. (例如jsr223 postprocessor中) ctx.getEngi ...

  3. JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  4. 如何使用JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  5. JMeter - 后处理器/脚本语言 - 比较

    当我们使用JMeter / Response数据处理进行密集负载测试时,我们可能会非常小心我们选择的后处理器/脚本语言的类型.在这篇文章中,我想说明这些后处理器/脚本语言如何影响测试的整体性能. 我们 ...

  6. 性能测试--Jmeter之wordpress示例

    Jmeter之wordpress示例 WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理 ...

  7. JMeter3.2入门使用教程

    JMeter3.2入门使用教程 背景说明 1.1. 背景简介 JMeter是Apache软件基金会下的一个开源项目,纯java开发的应用工具,可以作为进行负载和压力测试的工具来使用.从最开始时被设计成 ...

  8. 11. Jmeter-后置处理器二

    jmeter-后置处理器介绍与使用二 今天我们接着讲 JSR223 PostProcessor Debug PostProcessor JDBC PostProcessor Result Status ...

  9. 6.Jmeter 参数关联设置

    Jmeter的参数关联其实就是参数变量的在不同的采样器(sampler)的存储与传递. 如下我们有一个请求例子. 1.  发起下订单(下订单成功后会返回一个订单Id) 2.  针对该订单进行支付(需要 ...

随机推荐

  1. c# url链接转成二维码图片,再转成byte[]二进制流,输出到前段ajax

    需要用到的 dll 添加引用 代码: //获取配置文件设置的url string urllink = ConfigurationManager.AppSettings["urllink&qu ...

  2. Mkdir方法

    新建目录或文件夹. 语法 MkDir 路径 所需的_路径_参数是一个字符串表达式,标识的目录或文件夹创建. _路径_可以包含驱动器. 如果未指定驱动器, MkDir当前的驱动器上创建新目录或文件夹. ...

  3. 新手入门之——Ubuntu上的编辑器之神Vi / Vim

    Ubuntu上的编辑器有gedit.vi.sublime等.gedit一般在没有其他编辑器时临时使用,大部分情况下,vi和sublime使用的比较多,Linux系统内置了vi和sublime,其中,s ...

  4. python继承与多继承

    1.类与对象里的父类与子类(继承): 类的继承主要是指自子类对于之前父类的方法的继承,如果子类里面写了父类里的方法,则它会将父类里的方法覆盖掉,从而不能再调用到父类的方法. 2.为了解决父类与子类里的 ...

  5. Unity3d — — UGUI之Box Collider自适应大小

    NGUI下给Sprite/image添加collider后能自适应大小,但是在UGUI下Collider是默认在(0,0)位置,size为0 因此写了个简单的脚本,效果如下(最后附代码) 1.如下图添 ...

  6. jQuery的$ .ajax防止重复提交的方法

    没啥说的直接贴代码,很简单: 第一种方式:的onclick点击事件类型 <SCRIPT> function member_del(obj,id){ var lock = false; // ...

  7. Spring AOP 报错org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'XXXXXX' defined in class path resource..........

    完整报错如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'befo ...

  8. Netty源码分析第7章(编码器和写数据)---->第4节: 刷新buffer队列

    Netty源码分析第七章: 编码器和写数据 第四节: 刷新buffer队列 上一小节学习了writeAndFlush的write方法, 这一小节我们剖析flush方法 通过前面的学习我们知道, flu ...

  9. ubuntu16.04 CUDA, CUDNN 安装

    这次介绍的是使用 tensorflow1.8, cuda9.0, cudnn7.0的版本 https://developer.nvidia.com/cuda-90-download-archive 下 ...

  10. [奇葩问题] Error Domain=NSURLErrorDomain Code=-1003

    问题描述: 新上线的产品,ios同事拿着一串报错来找我,日志如下:err =Error Domain=NSURLErrorDomain Code=-1003 "未能找到使用指定主机名的服务器 ...