@Test
public class IdmTestRootRealm extends IdmGetSSOToken
{
protected ResourceBundle rb = null;
@DataProvider(name = "am")
public Object[][] createData() {
rb = ResourceBundle.getBundle("am");
return new Object [][] {
{ "amadmin.user", rb.getString("amadmin.user") },
{ "amadmin.password", rb.getString("amadmin.password") },
{ "basedn", rb.getString("basedn") },
};
}
@Test(dataProvider="am",groups={"server"})
public void TestRootRealm(String s1, String s2)
{
System.out.println(s1 + " " + s2);
}
}
When I execute this, I get the following output:
[testng] amadmin.user amadmin
[testng] amadmin.password secret12
[testng] basedn dc=red,dc=iplanet,dc=com
This is all correct. But how can I access the dataprovider values individually. What I want to do is something like this:
@Test(dataProvider="am",groups={"server"})
public void TestRootRealm(String s1, String s2)
{
String a1 = 1st value in s2
String a2 = 2st value in s2
String a3 = 3st value in s2
}
Basically how do I access the individual elements of the array object. Please let me know if I am not clear in my question. Thanks
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=43000&messageID=86263#86263
I have the following class:
@Test
public class IdmTestRootRealm extends IdmGetSSOToken
{
protected ResourceBundle rb = null;
@DataProvider(name = "am")
public Object[][] createData() {
rb = ResourceBundle.getBundle("am");
return new Object [][] {
{ "amadmin.user", rb.getString("amadmin.user") },
{ "amadmin.password", rb.getString("amadmin.password") },
{ "basedn", rb.getString ("basedn") },
@Test
public class IdmTestRootRealm extends IdmGetSSOToken
{
protected ResourceBundle rb = null;
@DataProvider(name = "am")
public Object[][] createData() {
rb = ResourceBundle.getBundle("am");
return new Object [][] {
{ "amadmin.user", rb.getString("amadmin.user") },
{ "amadmin.password", rb.getString("amadmin.password") },
{ "basedn", rb.getString("basedn") },
};
}
@Test(dataProvider="am",groups={"server"})
public void TestRootRealm(String[] s1, String[] s2)
{
System.out.println("BEFORE PRINT");
System.out.println(s2[0]);
System.out.println(s2[1]);
System.out.println(s2[2]);
System.out.println("AFTRE PRINT");
}
}
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=43000&messageID=86278#86278
I am not clear. I did the following and am getting an error:
@Test
public class IdmTestRootRealm extends IdmGetSSOToken
{
protected ResourceBundle rb = null;
@DataProvider(name = "am")
public Object[][] createData() {
rb = ResourceBundle.getBundle("am");
return new Object [][] {
{ "amadmin.user", rb.getString("amadmin.user") },
{ "amadmin.password", rb.getString("amadmin.password") },
{ "basedn", rb.getString("basedn") },
};
}
@Test(dataProvider="am",groups={"server"})
public void TestRootRealm(String[] s1, String[] s2)
{
System.out.println("BEFORE PRINT");
System.out.println(s2[0]);
System.out.println(s2[1]);
System.out.println (s2[2]);
System.out.println("AFTRE PRINT");
}
}
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=43000&messageID=86278#86278
@Test
public class IdmTestRootRealm extends IdmGetSSOToken
{
protected ResourceBundle rb = null;
@DataProvider(name = "am")
public Object[][] createData() {
rb = ResourceBundle.getBundle("am");
return new Object [][] {
new String[] { "amadmin.user", "amadmin.password", "basedn" },
new String [] {rb.getString("amadmin.user"), rb.getString("amadmin.password") , rb.getString("basedn") }
};
}
@Test(dataProvider="am",groups={"server"})
public void TestRootRealm(String[] s1, String[] s2)
throws IdRepoException, SSOException
{
System.out.println("BEFORE PRINT");
System.out.println(s2[0]);
System.out.println(s2[1]);
System.out.println(s2[2]);
System.out.println("AFTRE PRINT");
}
}
I get the following exception in the report:
java.lang.IllegalArgumentException: wrong number of arguments
... Removed 17 stack frames
Click to show all stack frames
java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:552)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:411)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:785)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:114)
at org.testng.TestRunner.privateRun(TestRunner.java:695)
at org.testng.TestRunner.run(TestRunner.java:574)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:241)
at org.testng.SuiteRunner.run(SuiteRunner.java:145)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:901)
at org.testng.TestNG.runSuitesLocally(TestNG.java:863)
at org.testng.TestNG.run(TestNG.java:613)
at org.testng.TestNG.privateMain(TestNG.java:1001)
at org.testng.TestNG.main(TestNG.java:938)
Appreciate the help. Thanks
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=43000&messageID=86289#86289
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.testng.internal.MethodHelper.invokeMethod (MethodHelper.java:552)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:411)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:785)
at org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:114)
import java.util.*;
import org.testng.annotations.*;
public class IdmTestRootRealm {
@DataProvider(name = "am")
public Object[][] createData() {
Map<String, String> map = new HashMap<String, String>();
map.put("amadmin.user", "amadmin");
map.put("amadmin.password", "1111111");
map.put("basedn", "dc=opensso,dc=com");
return new Object [][] {
{ "dataset1", map }
};
}
@Test(dataProvider="am", groups={"server"})
public void TestRootRealm(String key, Map<String, String> data) {
for (String k : data.keySet()) {
System.out.println(k + "=" + data.get(k));
}
}
}
Then you can have different set of amadmin, password, and basedn
accordingly.