首页 > 解决方案 > 从 Jmeter 中的 CSV 文件读取问题

问题描述

我正在将 Jmeter 与 Selenium Webdriver 采样器和 JAVA 一起使用。我有一个包含用户名和密码的 CSV 文件。我的测试有 CSV 数据集配置来读取文件和 Webdriver 采样器。我正在用java编写硒代码。我想从 CSV 文件中读取用户名和密码,并在我的 selenium 脚本中使用它。这是我的代码:

代码 CSV 配置

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} 会出错。任何想法有什么问题以及如何解决?

标签: jmeter

解决方案


  1. 从您的脚本中删除这两行,因为它们不是必需的,此外,如果您java用作语言,它们会导致语法错误

    var ctx = org.apache.jmeter.threads.JMeterContextService.getContext();
    var vars = ctx.getVariables();
    
  2. groovy从语言下拉列表中选择。当您选择java它不是“真正的”java 时,它是Beanshell解释器,所以如果您想使用普通的 Java 语法 - 选择 Groovy。此外,从 JMeter 3.1 开始,建议对所有形式的脚本使用 Groovy。这是因为Groovy 比其他脚本选项具有更好的性能

Groovy 脚本有效的证据:

JMeter WebDriver 变量


推荐阅读