running depend testng method using @factory -


scenario:-

my testdata 1)string 2) string b 3) string c

now have class in have data provider , factory , data provider has 3 value string

public class testparent {      public string tenant;      @factory(dataprovider = "mylist")     public testparent(string s) {         tenant = s;     }      @dataprovider(name = "mylist")     public object[][] mylist() {         list<string> s = new arraylist<string>();         s.add("a");         s.add("b");         s.add("c");         object[][] objarray = new object[s.size()][];          (int = 0; < s.size(); i++) {             objarray[i] = new object[1];             objarray[i][0] = s.get(i);         }         return objarray;     }      @test()     public void setup() {         system.out.print(tenant);         system.out.print("\n");     }      @test(dependsonmethod = setup)     public void beforeclass() {         system.out.print("hello");         system.out.print(tenant);         system.out.print("\n");     }      @test(dependsonmethod = beforeclass)     public void afterclass() {         system.out.print("bye");         system.out.print(tenant);         system.out.print("\n");     }      @test(dependsonmethod = afterclass)     public void mm() {         system.out.print("yes");         system.out.print(tenant);         system.out.print("\n");     } } 

output want

a
helloa
byea
yesa
b
hellob
byeb
yesb
c
helloc
byec
yesc

create 2 separate classes factoryclass , testdataclass , run factoryclass textng.xml

factoryclass:

public class factoryclass {      @factory(dataprovider = "mylist")     public object[] createinstances(string str) {         return new object[] {new testdata(str)};     }      @dataprovider(name = "mylist")     static public object[][] mylist(){      return new object[][] {         new object[] { new string("a") },         new object[] { new string("b") },       };     } }  

testdataclass:

public class testdata {      private string tenant;      public testdata(string s)     {         this.tenant=s;     }      @test()     public void setup( )     {         system.out.print(tenant);         system.out.print("\n");     }      @test(dependsonmethods="setup")     public void beforeclass()     {         system.out.print("hello");         system.out.print(tenant);         system.out.print("\n");      }      @test(dependsonmethods="beforeclass")     public  void afterclass()     {         system.out.print("bye");         system.out.print(tenant);         system.out.print("\n");     }      @test(dependsonmethods="afterclass")     public  void mm()     {         system.out.print("yes");         system.out.print(tenant);         system.out.print("\n");      }  } 

xml file:

<suite name="stacknew" verbose="1"> <test name="test" group-by-instances="true">     <classes>         <class name="stack.factoryclass"></class>     </classes> </test> </suite> 

if face sequence issue: link


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -