-1

I have a problem and I stuck in it for two days, how can I add more than one argument constructor in “ Constructor String label” ????? When I created my test in Junit , I create a constructor using two arguments, but in jmeter , a problem occurred and me telling that it’s impossible to create an instance because of the absence of one String Constructor. So, after that, I discover that jmeter only see one string constructor or an empty one Please help me on this point or do you suggest another alternative to pass argument to Junit test in jmeter.

For more details, I want to automate IHM tests and at the same time measure the performance and the supporting numbers of users that connect at the same time. To do that, I create my test Case using Junit and Selenium, export the jar file into junit folder under apache jmeter, creating junit request and passing “${login}, ${password}” in Constructor String Label, and finally creating the Csv Data set config to bring login and password from txt file. But I faced the problem of “impossible to create an instance because of the absence of one String Constructor”. I try to use one String constructor with login , it works very well and bring me value form txt file, but with 2 arguments in constructor it doesn’t work because jmeter didn't support it. Do you suggest another alternative :s :s :s please Help.

This is the code i have so far:

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(); 
}
Stewartside
  • 20,378
  • 12
  • 60
  • 81
Imen CHOK
  • 930
  • 1
  • 12
  • 20
  • Could you add some code so that we can see what your trying to do at the minute. – Stewartside Mar 23 '14 at 19:28
  • Thanks for response @Test 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); driver.findElement(By.id("submit")).click()}I want to pass login and password in jmeter from CSV data set – Imen CHOK Mar 23 '14 at 19:49
  • Finaly and Fortuanately, I found a solution to my problem. – Imen CHOK Mar 24 '14 at 10:46
  • Finaly and fortunately, I found a solution to my problem. Instead of using junit test I used jmeter-java test to run diffrent session from jmeter with diffrent login and password for each session using CSV Data Set Config and this article was very useful to me :D http://www.javacodegeeks.com/2012/05/apache-jmeter-load-test-whatever-you.html/comment-page-1/#comment-8288 and instead of "testuser" in java request " ${login}" and "${password} instead of "testpasswd" to bring data from txt file related to CSV Data Set Config – Imen CHOK Mar 24 '14 at 10:58

1 Answers1

0

Finaly and fortunately, I found a solution to my problem. Instead of using junit test I used jmeter-java test to run diffrent session from jmeter with diffrent login and password for each session using CSV Data Set Config and this article was very useful to me :D http://www.javacodegeeks.com/2012/05/apache-jmeter-load-test-whatever-you.html/comment-page-1/#comment-8288 and instead of "testuser" in java request " ${login}" and "${password} instead of "testpasswd" to bring data from txt file related to CSV Data Set Config

And your test method will look like that (In my case i'm using selenium for test on browser)

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;
}
Imen CHOK
  • 930
  • 1
  • 12
  • 20