Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jmeter-动态添加头在第二次迭代后失败_Jmeter_Beanshell - Fatal编程技术网

jmeter-动态添加头在第二次迭代后失败

jmeter-动态添加头在第二次迭代后失败,jmeter,beanshell,Jmeter,Beanshell,我正在尝试从csv文件中添加uri并运行功能测试。因此,基本上测试计划如下所述。对于从jmeter触发的每个http请求,我尝试使用预处理器在header manager中添加或清除header详细信息。对于csv中的前两行(请求),请求被成功触发,但是对于第三个url,头清除会给出错误 Test plan-| |->thread-| |->while loop-|

我正在尝试从csv文件中添加uri并运行功能测试。因此,基本上测试计划如下所述。对于从jmeter触发的每个http请求,我尝试使用预处理器在header manager中添加或清除header详细信息。对于csv中的前两行(请求),请求被成功触发,但是对于第三个url,头清除会给出错误

Test plan-|            
          |->thread-|
                    |->while loop-|
                                  -> CSV file
                                  -> http request
                                     -> header manager
                                     -> beanshell pre processor
                     -> result tree

import org.apache.jmeter.protocol.http.control.Header;

log.info("--------------------->>>> BEFORE 1 CLEARING HEADER");
if (ctx.getCurrentSampler().getHeaderManager().size() != 0){
    log.info("--------------------->>>> BEFORE 2 CLEARING HEADER");
    sampler.getHeaderManager().clear();
    log.info("--------------------->>>> AFTER 1 CLEARING HEADER");
}

if(!vars.get("LABEL").equals("login")) {
    log.info("--------------------->>>> IN iF COND LABEL != LOGIN");
    if (vars.get("environment").equals("gateway")) {
        log.info("--------------------->>>> ADDING HEADER <!LOGIN> <environment = gateway>"); 
        ctx.getCurrentSampler().getHeaderManager().add(new Header("Accept", "application/json"));
        ctx.getCurrentSampler().getHeaderManager().add(new Header("Content-Type", "application/json"));
         ctx.getCurrentSampler().getHeaderManager().add(new Header("Authentication",vars.get("authCode")));
         ctx.getCurrentSampler().getHeaderManager().add(new Header("Authorization", "Bearer 4b6e13b4dfc3187de6c2b762c84d9196"));
         sizeHeader = ctx.getCurrentSampler().getHeaderManager().size();
         log.info("==================>>>> size of header after ADDING HEADER <!LOGIN> <environment = gateway> <" + sizeHeader + ">");
    } else {
        log.info("--------------------->>>> ADDING HEADER <!LOGIN> <environment != gateway>");
        ctx.getCurrentSampler().getHeaderManager().add(new Header("Accept", "application/json"));
        ctx.getCurrentSampler().getHeaderManager().add(new Header("Content-Type", "application/json"));
        ctx.getCurrentSampler().getHeaderManager().add(new Header("Authorization",vars.get("authCode")));
        sizeHeader = ctx.getCurrentSampler().getHeaderManager().size();
         log.info("==================>>>> size of header after ADDING HEADER <!LOGIN> <environment = !gateway> <" + sizeHeader + ">");
    }
} else {
    log.info("--------------------->>>> ADDING HEADER <LOGIN> <environment = gateway>"); 
    ctx.getCurrentSampler().getHeaderManager().add(new Header("Accept", "application/json"));
    ctx.getCurrentSampler().getHeaderManager().add(new Header("Content-Type", "application/x-www-form-urlencoded"));
    sizeHeader = ctx.getCurrentSampler().getHeaderManager().size();
    log.info("==================>>>> size of header after ADDING HEADER <LOGIN> <environment = gateway> <" + sizeHeader + ">");
}
测试计划-|
|->线-|
|->while循环-|
->CSV文件
->http请求
->标题管理器
->比恩希尔预处理器
->结果树
导入org.apache.jmeter.protocol.http.control.Header;
log.info(“--------------------->>>>>在1清除头之前”);
如果(ctx.getCurrentSampler().getHeaderManager().size()!=0){
log.info(“--------------------->>>>>在2清除头之前”);
sampler.getHeaderManager().clear();
log.info(“--------------------->>>>>在1个清除头之后”);
}
如果(!vars.get(“LABEL”).equals(“login”)){
log.info(“---------------->>>>>在iF COND标签中!=登录”);
if(vars.get(“环境”).equals(“网关”)){
log.info(“--------------------->>>>添加头”);
ctx.getCurrentSampler().getHeaderManager().add(新标题(“接受”,“应用程序/json”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“内容类型”、“应用程序/json”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“身份验证”,vars.get(“身份验证代码”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“授权”、“承载人4b6e13b4dfc3187de6c2b762c84d9196”);
sizeHeader=ctx.getCurrentSampler().getHeaderManager().size();
log.info(“===================>>>>添加头后的头大小”);
}否则{
log.info(“--------------------->>>>添加头”);
ctx.getCurrentSampler().getHeaderManager().add(新标题(“接受”,“应用程序/json”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“内容类型”、“应用程序/json”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“授权”,vars.get(“authCode”));
sizeHeader=ctx.getCurrentSampler().getHeaderManager().size();
log.info(“===================>>>>添加头后的头大小”);
}
}否则{
log.info(“--------------------->>>>添加头”);
ctx.getCurrentSampler().getHeaderManager().add(新标题(“接受”,“应用程序/json”));
ctx.getCurrentSampler().getHeaderManager().add(新标题(“内容类型”,“应用程序/x-www-form-urlencoded”);
sizeHeader=ctx.getCurrentSampler().getHeaderManager().size();
log.info(“===================>>>>添加头后的头大小”);
}
--------------------------日志文件如下--------------------------

2017-06-22 20:37:57,049 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2017-06-22 20:37:57,050 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2017-06-22 20:37:57,056 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2017-06-22 20:37:57,060 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2017-06-22 20:37:57,061 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2017-06-22 20:37:57,061 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2017-06-22 20:37:57,061 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2017-06-22 20:37:57,066 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2017-06-22 20:37:57,066 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2017-06-22 20:37:57,067 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2017-06-22 20:37:57,067 INFO o.a.j.s.FileServer: Stored: C:\Users\XXX\Desktop\apache-jmeter-3.2\bin\projects\testFrag\apiTest.csv
2017-06-22 20:37:57,070 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> BEFORE 1 CLEARING HEADER
2017-06-22 20:37:57,073 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> ADDING HEADER <LOGIN> <environment = gateway>
2017-06-22 20:37:57,073 INFO o.a.j.u.BeanShellTestElement: ==================>>>> size of header after ADDING HEADER <LOGIN> <environment = gateway> <2>
2017-06-22 20:37:57,889 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> BEFORE 1 CLEARING HEADER
2017-06-22 20:37:57,889 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> BEFORE 2 CLEARING HEADER
2017-06-22 20:37:57,889 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> AFTER 1 CLEARING HEADER
2017-06-22 20:37:57,891 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> IN iF COND LABEL != LOGIN
2017-06-22 20:37:57,891 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> ADDING HEADER <!LOGIN> <environment = gateway>
2017-06-22 20:37:57,892 INFO o.a.j.u.BeanShellTestElement: ==================>>>> size of header after ADDING HEADER <!LOGIN> <environment = gateway> <4>
2017-06-22 20:38:00,050 INFO o.a.j.u.BeanShellTestElement: --------------------->>>> BEFORE 1 CLEARING HEADER
2017-06-22 20:38:00,050 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval     Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.Header;  log.info("-------------- . . . ''
2017-06-22 20:38:00,050 WARN o.a.j.m.BeanShellPreProcessor: Problem in BeanShell script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval       Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.Header;  log.info("-------------- . . . ''
2017-06-22 20:38:01,466 INFO o.a.j.t.JMeterThread: Stop Thread seen for thread Thread Group 1-1, reason: org.apache.jorphan.util.JMeterStopThreadException: End of file:C:\Users\XXX\Desktop\apache-jmeter-3.2\bin\projects\testFrag\apiTest.csv detected for CSV DataSet:CSV Data Set Config configured with stopThread:true, recycle:false
2017-06-22 20:38:01,467 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2017-06-22 20:38:01,468 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2017-06-22 20:37:57049信息o.a.j.e.StandardJMeterEngine:运行测试!
2017-06-22 20:37:57050信息o.a.j.s.样本事件:样本变量列表:[]
2017-06-22 20:37:57056信息o.a.j.g.u.JMeterMenuBar:setRunning(真,*本地*)
2017-06-22 20:37:57060信息o.a.j.e.StandardJMeterEngine:起始线程组:1:线程组
2017-06-22 20:37:57061信息o.a.j.e.StandardJMeterEngine:为组线程组启动1个线程。
2017-06-22 20:37:57061信息o.a.j.e.StandardJMeterEngine:线程将继续出错
2017-06-22 20:37:57061信息o.a.j.t.ThreadGroup:起始线程组。。。number=1线程=1爬升=1 perThread=1000.0 delayedStart=false
2017-06-22 20:37:57066信息o.a.j.t.螺纹组:开始螺纹组编号1
2017-06-22 20:37:57066信息o.a.j.e.StandardJMeterEngine:所有线程组都已启动
2017-06-22 20:37:57067信息o.a.j.t.JMeterThread:线程开始:线程组1-1
2017-06-22 20:37:57067信息o.a.j.s.FileServer:存储:C:\Users\XXX\Desktop\apache-jmeter-3.2\bin\projects\testFrag\apiTest.csv
2017-06-22 20:37:57070信息o.a.j.u.BeanShellTestElement:------------------------------------>>>>>在1个清算头之前
2017-06-22 20:37:57073信息o.a.j.u.BeanShellTestElement:------------------------------------>>>>添加标题
2017-06-22 20:37:57073信息o.a.j.u.BeanShellTestElement:======================>>>>添加标头后的标头大小
2017-06-22 20:37:57889信息o.a.j.u.BeanShellTestElement:--------------------------------------------------->>>>>在1个清算头之前
2017-06-22 20:37:57889信息o.a.j.u.BeanShellTestElement:------------------------------------>>>>>在2个清算头之前
2017-06-22 20:37:57889信息o.a.j.u.BeanShellTestElement:--------------------------------------------------->>>>>在1个清算头之后
2017-06-22 20:37:57891信息o.a.j.u.BeanShellTestElement:------------------------------------>>>>>在iF COND标签中!=登录
2017-06-22 20:37:57891信息o.a.j.u.BeanShellTestElement:--------------------------------------------------->>>>添加标题
2017-06-22 20:37:57892信息o.a.j.u.BeanShellTestElement:======================>>>>>添加标头后的标头大小
2017-06-22 20:38:00050信息o.a.j.u.BeanShellTestElement:----------------------------------------->>>>>在1个清算头之前
2017-06-22 20:38:00050错误o.a.j.u.BeanShellInterpreter:调用bsh方法时出错:评估源文件:内联评估:``import org.apache.jmeter.protocol.http.control.Header;log.info(“--------------…”)
2017-06-22 20:38:00050警告o.a.j.m.BeanShell预处理器:BeanShell script.org.apache.jorphan.util.JMeterException中的问题:调用bsh方法时出错:eval源文件:内联求值:``import org.apache.jmeter.protocol.http.control.Header;log.info(“--------------”)
2017-06-22 20:38:01466信息o.a.j.t.JMeterThread:线程组1-1的停止线程,原因:org.apache.jorphan.util.JMeterStopThreadException:文件结尾:C:\Users\XXX\Desktop\apache-jmeter-3.2\bin\projects\testFrag\apiTest.csv检测到csv数据集:csv数据集配置为