我有一个问题,我坚持了两天,如何在“构造函数字符串标签”中添加多个参数构造函数????? 当我在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();
}
答案 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;
}