Module 18 Junit and Data Driven Framework java.lang.IllegalA | Selenium Forum
M
Posted on 28/05/2016
package Tests.Suite1;

import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;

import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

import Tests.TestBase;
import Util.TestUtil;
//Step1

@RunWith(Parameterized.class)
public class RegistrationTest extends TestBase {
//Step2

public String name;
public String phone_No;
public String email;
public String password;
public String confirm_Password;

//Step3

public RegistrationTest(String name,String phone_No,String email,String password,String confirm_Password)
{
this.name=name;
this.phone_No=phone_No;
this.email=email;
this.password=password;
this.confirm_Password=confirm_Password;
}


@Before
public void beforeTest() throws IOException

{
System.out.println("Initializing the System");
initialize();
if(TestUtil.isSkip("RegistrationTest"))
Assume.assumeTrue(false);

}

@Test
public void RegisterTest() throws InterruptedException
{
driver.get(CONFIG.getProperty("testSiteName"));
getObject("User_Top_Link").click();
Thread.sleep(5000L);
getObject("Register_Link").click();

getObject("Name").sendKeys(name);
getObject("Phone_No").sendKeys(phone_No);
getObject("Email").sendKeys(email);
getObject("Password").sendKeys(password);
getObject("Confirm_Password").sendKeys(confirm_Password);

getObject("checkbox").click();
getObject("Create_Account").click();

}




@Parameters
public static Collection<Object[]> DataSupplier(){
Object[][] data= TestUtil.getData("RegistrationTest");
return Arrays.asList(data);

}
}

M
Replied on 29/05/2016

paste the exception/error as text.


M
Replied on 30/05/2016

java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.createTestUsingConstructorInjection(BlockJUnit4ClassRunnerWithParameters.java:43)
at org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.createTest(BlockJUnit4ClassRunnerWithParameters.java:38)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)


M
Replied on 30/05/2016

zip and send the project


M
Replied on 30/05/2016

Please find uploaded file


M
Replied on 31/05/2016

there is fields mismatch

[quote:6d307wur]public RegistrationTest(String name,String phone_No,String email,String password,String confirm_Password)
{
[/quote:6d307wur]

and

[quote:6d307wur]@Parameters
public static Collection<Object[]> DataSupplier(){
Object[][] data= TestUtil.getData("RegistrationTest");
return Arrays.asList(data);

}[/quote:6d307wur]

check the number of arguments in [color=#FF0000:6d307wur]Arrays.asList(data);[/color:6d307wur] and match them with [color=#FF0000:6d307wur]public RegistrationTest(String name,String phone_No,String email,String password,String confirm_Password)
{
[/color:6d307wur]


M
Replied on 31/05/2016

Thanks it's resolved