jmeter - 从 Jmeter 中的 CSV 文件读取问题
问题描述
我正在将 Jmeter 与 Selenium Webdriver 采样器和 JAVA 一起使用。我有一个包含用户名和密码的 CSV 文件。我的测试有 CSV 数据集配置来读取文件和 Webdriver 采样器。我正在用java编写硒代码。我想从 CSV 文件中读取用户名和密码,并在我的 selenium 脚本中使用它。这是我的代码:
import openqa.selenium.OutputType.*;
import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.*;
WDS.sampleResult.sampleStart();
var ctx = org.apache.jmeter.threads.JMeterContextService.getContext();
var vars = ctx.getVariables();
String userName = WDS.args[0]; -- the result of this line is "loginName" instead of actual log in name. same for 2nd line.
//String userName = vars.get('loginName');
我遇到的问题是它没有从 CSV 中挑选。上面两行生成结果“loginName”,而不是从文件中选择实际的登录名。我用过单引号,双引号等,但没有运气。使用 ${loginName} 会出错。任何想法有什么问题以及如何解决?
解决方案
从您的脚本中删除这两行,因为它们不是必需的,此外,如果您
java
用作语言,它们会导致语法错误var ctx = org.apache.jmeter.threads.JMeterContextService.getContext(); var vars = ctx.getVariables();
groovy
从语言下拉列表中选择。当您选择java
它不是“真正的”java 时,它是Beanshell解释器,所以如果您想使用普通的 Java 语法 - 选择 Groovy。此外,从 JMeter 3.1 开始,建议对所有形式的脚本使用 Groovy。这是因为Groovy 比其他脚本选项具有更好的性能。
Groovy 脚本有效的证据: