新用户警告
使用Java,webdriver和TestNG
我有两种不同的方法 1.为了启动司机 2.登录
我在@BeforeTest中调用了驱动程序启动方法,这也将启动应用程序登录页面。 我也想在@BeforeTest中调用'login'方法(因为几乎所有测试都需要这个)但问题是我对这个登录页面也有4-5个测试(比如测试版,版权所有,忘记了密码链接) )。因此,对于这些测试,不需要登录(或者不应该登录)。
有没有办法可以在与登录页面相关的测试之前执行一组方法调用,在所有其他测试之前执行一组不同的方法调用。 如果有其他方法可以实现,请告诉我。
如果此处需要更多信息,请与我们联系。
答案 0 :(得分:1)
我会创建一个基类,我用@BeforeTest方法登录,只让testclasses继承它需要登录:
public abstract class TestBaseForLogin{
@BeforeTest
public void loginBeforeEachTest() {
// do the login
}
}
现在,如果您想在每次测试之前汇集需要登录的测试,那么只需继承基类。
public class TestThatNeedLogin extends TestBaseForLogin{
@BeforeTest
public void beforeEachTest() {
// do whatever you need before the test
}
}
否则只需要没有基类(或其他基类)
public class TestLogin {
@BeforeTest
public void beforeEachTest() {
// do whatever you need before the test
}
}
您继承的类将首先执行基类的@BeforeTest,然后才会执行自己的@BeforeTest标记方法。