如何在jmeter中使用带有junit请求测试的CSV数据集

时间:2014-03-23 19:11:11

标签: junit jmeter

我有一个问题,我坚持了两天,如何在“构造函数字符串标签”中添加多个参数构造函数????? 当我在Junit中创建我的测试时,我使用两个参数创建一个构造函数,但在jmeter中,出现了一个问题,并且我告诉由于缺少一个String构造函数而无法创建实例。所以,在那之后,我发现jmeter只能看到一个字符串构造函数或一个空字符串构造函数 请帮助我这一点,或者你建议另一种方法将参数传递给jit中的Junit测试。

有关详细信息,我希望自动执行IHM测试,同时衡量同时连接的用户的性能和支持数量。为此,我使用Junit和Selenium创建我的测试用例,将jar文件导出到apache jmeter下的junit文件夹中,创建junit请求并在构造函数字符串标签中传递“$ {login},$ {password}”,最后创建Csv数据集配置从txt文件带来登录名和密码。但我遇到了“由于缺少一个字符串构造函数而无法创建实例”的问题。我尝试使用一个带有登录的String构造函数,它工作得很好并为我带来了值形式的txt文件,但是在构造函数中有2个参数它不起作用,因为jmeter不支持它。你建议另一个选择:s:s:s请帮助。

这是我到目前为止的代码:

public void test() throws InterruptedException { 
    driver.get(baseUrl + "/"); //clear username filed 
    driver.findElement(By.id("username")).clear(); //enter user name 
    driver.findElement(By.id("username")).sendKeys(login); //clear password 
    driver.findElement(By.id("password")).clear(); //enter password 
    driver.findElement(By.id("password")).sendKeys(password); //click on submit button 
    driver.findElement(By.id("submit")).click(); 
}

1 个答案:

答案 0 :(得分:0)

最后,幸运的是,我找到了解决问题的方法。而不是使用junit测试我使用jmeter-java测试从jmeter运行不同的会话,使用CSV数据集配置为每个会话提供不同的登录名和密码,这篇文章对我非常有用:D http://www.javacodegeeks.com/2012/05/apache-jmeter-load-test-whatever-you.html/comment-page-1/#comment-8288而不是“testuser” “在java请求中”$ {login}“和”$ {password}而不是“testpasswd”从txt文件中提取与CSV数据集配置相关的数据

你的测试方法看起来就像那样(在我的情况下,我在浏览器上使用selenium进行测试)

public SampleResult runTest(JavaSamplerContext arg0) {
    // TODO Auto-generated method stub
    login = arg0.getParameter("login");
    password=arg0.getParameter("password");
    SampleResult result = new SampleResult();
    boolean success = true;
    result.sampleStart();
       // Write your test code here.

        //
      driver.get(baseUrl + "/");
             //clear username file
          driver.findElement(By.id("username")).clear();
             //enter user name
          driver.findElement(By.id("username")).sendKeys(login);
        //clear password
          driver.findElement(By.id("password")).clear();
    //enter password
              driver.findElement(By.id("password")).sendKeys(password);
        //click on submit button;
          driver.findElement(By.id("submit")).click();

        ////

        result.sampleEnd();

        result.setSuccessful(success);

        return result;

}


And getDefaultParameters
@Override
public Arguments getDefaultParameters() {
// TODO Auto-generated method stub
    defaultParameters=new Arguments();
    defaultParameters.addArgument("login", "ImenUser1");
    defaultParameters.addArgument("password","ImenUser@");
return defaultParameters;
}