我在Jmeter中创建了API测试,并提交给GIT分支。我的所有JMeter测试都是从Jenkins管道作业执行的。
问题:在Jmeter测试中,我使用了一个从CSV文件中读取数据的bean shell采样器。请参阅下面的代码。
LineNumberReader lineReader = new LineNumberReader(new FileReader(new File("${csv}")));
String line = null;
int count = 1;
while ((line = lineReader.readLine()) != null) {
String[] Test_details = line.split(",");
props.put("Test_id_" + count, Test_details[0]);
props.put("scenario_id_" + count, Test_details[1]);
count++;
}
lineReader.close();
在上面的脚本中,从Jmeter中的用户html" target="_blank">定义变量引用的CSV路径(CSV='filePath')
当我从Jenkins执行测试时,无法检索CSV文件中的数据,并且测试失败。
注意:当我从本地计算机执行时,将检索CSV中的数据并通过测试。
当从下面的Jenkins执行时,CSV路径是在用户定义的变量中给出的。csv=apitests\src\test\jmeter\data\testdata.csv
下面是文件夹结构文件夹结构
如果您正在通过JMeter Maven插件运行测试,那么测试库目录(也称为Java user.dir)如下所示:
target/somerandomguid/jmeter/bin
因此,如果您需要获取文件的相对路径,您需要提升4个级别,然后转到src/test/jmeter/data,如下所示:
new File("../../../../src/test/jmeter/data/Testdata.csv")
还要注意,从JMeter3.1开始,您应该使用JSR223测试元素和Groovy语言来编写脚本,所以这可能是一个很好的更改机会。更多信息:Apache Groovy-为什么和如何使用它
我是Jmeter的新手,正在尝试在HTTP GET请求的路径中使用CSV文件中的变量。 我已经翻阅了这个问题的各种教程和答案,但我还是弄不清我做错了什么。文件只有一个头(ID)。如果我在路径中输入ID,它可以工作,但当我尝试从CSV文件中读取它时,它就失败了:
我正在使用CSV数据集配置来读取CSV文件。 我有进口包裹吗?
我正在尝试测试一些 API,但首先我需要获取我在测试中使用的每个客户的会话密钥。我有一个包含客户登录信息的CSV文件,并阅读每个线程。 我的JMeter文件中有下面的表单。 CSV 数据集配置 - 用户登录信息 设置用户名、密码 - 每次迭代一个 设置线程组 豆壳采样器删除 登录线程-ThreadCount=ThreadCount,Loop=1 登录请求 BeanShell PostPrecess
我使用Jmeter和Selenium Webdriver采样器 代码CSV配置 我的问题是它没有从CSV中挑选。以上两行生成结果“loginName”,而不是从文件中选择实际的登录名。我用过单引号、双引号等,但运气不佳。使用${loginName}会产生错误。知道什么地方出了问题,如何解决吗?
问题内容: 我是Jenkins和groovy脚本的新手,我想读取一个.txt文件,该文件位于其中一个作业的工作空间中。我正在尝试这样做: 但是会导致以下错误: groovy.lang.MissingMethodException:方法的无签名:hudson.FilePath.readFileFromWorkspace()适用于参数类型:(java.lang.String)值:[file.txt]
问题内容: 我想使用Groovy插件添加一个Build步骤来读取文件并根据文件内容触发构建失败。 如何在groovy插件中注入工作区文件路径? 问题答案: 根据您的评论,使用 Text-finder 插件会更好。 它允许在文件以及控制台中搜索正则表达式,然后设置构建或找到构建。 对于Groovy,可以使用以下命令来访问环境变量: