一个变量不会从测试片段转移到另一个测试片段

时间:2018-04-17 11:29:17

标签: jmeter beanshell

我有以下测试计划:

简短的故事(从测试计划中重要的是):

获取号码文件”获取给定路径中的文件总数。 BeanShell采样器的内容:

import java.nio.file.*;
import java.io.*;

File folder = new File(vars.get("path"));
File[] files = folder.listFiles();
int counter = 0;
for (File file : files) {
    if (file.getName().toString().contains(".xml") == true){
        counter++;
    }

}

String counterStr = Integer.toString(counter);  

vars.put("counter",counterStr);

log.info("Output_counterStr:"+counterStr);

获取当前文档的数量:它是一个获取下一个文件的计数器(用于上传)BeanShell Sampler的内容:

import java.nio.file.*;
import java.io.*;    

String fName = null;    
int currentDoc = 0;
fName = vars.get("filename");
log.info("Output_fName:"+fName);

if (fName.contains("00")==true){    
    currentDoc = 0;
    currentDoc ++;
} else {    
    currentDoc ++;
}

String currentDocStr = Integer.toString(currentDoc); 

vars.put("currentDoc",currentDocStr);

log.info("Output_currentDoc:"+currentDocStr);

我想要获得的是在 WebSocket请求 - 响应采样器中使用 currentDoc 的值。如下:

<currentDocument>${currentDoc}</currentDocument>
<totalDocuments>${counter}</totalDocuments>

问题是$ {counter}实际上有一个值,而$ {currentDoc}实际上到了。知道什么可能是错的吗?您不能将该值传输到另一个测试片段中吗? (通过调用“while”功能中的Module控制器来增加计数器。

谢谢

0 个答案:

没有答案