我创建了两个类。 first.java
和second.java
。在first.java
中,我定义了一些2到3个方法。在second.java
中,我想通过创建first.java
的实例来使用这些方法。我的情况如下:
这里,第一个和第三个方法,即@Test应该运行一次,第二个方法@Test(dataProvider)应该迭代所有依赖
有没有办法在全局范围内声明或创建另一个类的实例?这样我可以在second.java
中的所有方法中使用,还是有其他任何方法?
我正在使用TestNG
,Ecplise
和Webdriver
来执行。
这就是我在做什么:
@Test(dataProvider = "DP1")
public void enteruserdetails(String username, String pass)
{
Spage spage = new Spage(driver);
spage.clicksign();
spage.enterdetails(username,pass);
spage.signout();
}
我想将此测试分成三个,以便:
1) spage.clicksign() will be done only once
2) spage.enterdetails(username,pass) will use DataProvider for iteration
3) spage.signout() will be done only once.
然后如何创建类Spage spage = new Spage(driver)
的实例;我必须在所有地方都这样做,例如@Before, @After and also in @Test
或者有没有办法在全球范围内宣布它?此处spage.java
用于sfirst.java
。
答案 0 :(得分:0)
您可以考虑将您的设置方法放入BeforeXXX方法中,并在AfterXXX方法中进行拆解。在您的情况下,您可以使用使用beforeclass注释的方法登录,并且类似地使用使用afterclass的方法注销。
@BeforeClass
public void signin(){
//clicksign
}
@Test
//the enter details and verifications
@AfterClass
public void signOut(){
//clicksignout
}