新用户警报
使用Java、webdriver和TestNG
我有两个独立的方法1.启动驱动程序2.登录
我已经在@BeforeTest中调用了驱动程序启动方法,这也将启动应用程序登录页面。我还想在@BeforeTest中调用' login‘方法(因为几乎所有的测试都需要这样的测试),但问题是,对于这个登录页面,我还有4-5个测试(比如测试版本、版权、忘记密码链接)。因此,对于这些测试,不需要登录(更确切地说,不应该登录)。
有没有办法在涉及登录页面的测试之前执行一组方法调用,以及在所有其他测试之前执行一组不同的方法调用。如果有其他方法可以实现,请告诉我。
如果这里需要更多的信息,请告诉我。
发布于 2015-10-21 14:18:28
我将创建一个基类,在其中我将@BeforeTest方法与登录放在一起,并且只允许testclasses继承它,这将需要登录:
public abstract class TestBaseForLogin{
@BeforeTest
public void loginBeforeEachTest() {
// do the login
}
}现在,如果您想要在每次测试之前都需要登录的测试池,那么只需从baseclass继承即可。
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标记方法。
https://stackoverflow.com/questions/33261176
复制相似问题