- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如我们从 TestNG 官方文档中了解到的:
@BeforeClass:
带注释的方法将在调用当前类中的第一个测试方法之前运行。
@BeforeTest:
带注释的方法将在属于 <test>
内的类的任何测试方法之前运行。标签已运行。
上述两个 TestNG 注释在功能上看起来都很相似。谁能解释一下独特的区别吗?
最佳答案
SeleniumAbstractTest.class
public abstract class SeleniumAbstractTest {
@BeforeSuite
public void beforeSuite() {
System.out.println("BeforeSuite");
}
@BeforeTest
public void beforeTest() {
System.out.println("BeforeTest");
}
@BeforeClass
public void beforeClass() {
System.out.println("BeforeClass");
}
@BeforeMethod
public void beforeMethod() {
System.out.println("BeforeMethod");
}
@AfterMethod
public void afterMethod() {
System.out.println("AfterMethod");
}
@AfterClass
public void afterClass() {
System.out.println("AfterClass");
}
@AfterTest
public void afterTest() {
System.out.println("AfterTest");
}
@AfterSuite
public void afterSuite() {
System.out.println("AfterSuite");
}
}
MyTestClass1.class
public class MyTestClass1 extends SeleniumAbstractTest {
@Test
public void myTestMethod1() {
System.out.println("myTestMethod1");
}
@Test
public void myTestMethod2() {
System.out.println("myTestMethod2");
}
}
MyTestClass2.class
public class MyTestClass2 extends SeleniumAbstractTest {
@Test
public void myTestMethod3() {
System.out.println("myTestMethod3");
}
@Test
public void myTestMethod4() {
System.out.println("myTestMethod4");
}
}
如果您有以下测试套件...
<suite name="Suite">
<test name="Test1" >
<classes>
<class name="MyTestClass2" />
</classes>
</test>
<test name="Test2">
<classes>
<class name="MyTestClass1"/>
<class name="MyTestClass2"/>
</classes>
</test>
</suite>
...那么输出[缩进以便于阅读]将是
BeforeSuite
' BeforeTest
' ' BeforeClass
' ' ' BeforeMethod
' ' ' ' myTestMethod3
' ' ' AfterMethod
' ' ' BeforeMethod
' ' ' ' myTestMethod4
' ' ' AfterMethod
' ' AfterClass
' AfterTest
' BeforeTest
' ' BeforeClass
' ' ' BeforeMethod
' ' ' ' myTestMethod1
' ' ' AfterMethod
' ' ' BeforeMethod
' ' ' ' myTestMethod2
' ' ' AfterMethod
' ' AfterClass
' ' BeforeClass
' ' ' BeforeMethod
' ' ' ' myTestMethod3
' ' ' AfterMethod
' ' ' BeforeMethod
' ' ' ' myTestMethod4
' ' ' AfterMethod
' ' AfterClass
' AfterTest
AfterSuite
关于selenium - TestNG中BeforeClass和BeforeTest的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587454/
我有一个 testNG 套件,正在执行一些 selenium 代码。我正在测试我拥有的网络应用程序中页面之间的导航。有四种不同的用户级别,根据用户类型提供对受限页面的访问权限。我还需要在 Chrome
我正在使用 TestNG (Selenium + Java) 运行我的 Cucumber 套件测试并收到 java.lang.NullPointerException。 我意识到问题是我的 @Befo
我的测试用例中有两种方法。我想为我的每个测试方法使用两种不同的 @BeforeTest 或 @BeforeMethod 方法。 我在我的单元测试类中写了两个 @BeforeMethod 方法,但这两个
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files\M
我正在使用skip装饰器进行测试: @skip('I want this to skip') def test_abc(self): 我还有一个 Nose 插件来报告具有定义的测试结果 def bef
我正在尝试使用 @BeforeTest 让代码...在每次测试之前运行一次。 这是我的代码: public class TestBase { @BeforeTest public vo
我正在为一个具有多个模块的项目构建一个测试框架。目前,我的 testng.xml 中有两个测试。
我一直在使用 TestNG 并且遇到两个注释的问题,@BeforeTest和 @BeforeClass .我想知道是否都应用了哪个将首先运行? 最佳答案 答案 : 用 @BeforeTest 注释的方
我读了relevant documentation并且不明白。另请参阅this question . 最佳答案 要理解这一点,您必须理解 testng.xml 。现在重读同样的内容, The anno
我正在尝试使用 @BeforeTest 方法从 excel 中读取数据,并尝试在 testNG 的 @Test 方法中打印相同的数据。我已经阅读了表格中的数据 @BeforeTest @Par
我有以下代码: @BeforeTest(alwaysRun = true) public void setup() { System.out.println("@BeforeTest"); }
进一步查询SO-4310964 ,我浏览了test.org处的注释描述。 。 @BeforeTest: The annotated method will be run before any test
我正在使用 Java 和 TestNG 框架为我的公司编写一些 selenium 自动化 UI 测试。我在 Base 类中定义驱动程序,我想在 @BeforeTest 中实际初始化驱动程序并在 @Af
背景:我的目标是编写一个独立运行的 TestNG-Selenium 系统(没有字符串到 Maven 或 Ant 插件;只有 Java)。它必须允许测试用例接受参数,包括浏览器和域 URL。当 Test
方法#1:每次测试前登录: 优点: 每个测试都是不同的 session ,如果一个测试导致浏览器崩溃,只有该测试失败,不会影响其他测试。 可以并行测试。 缺点: 如果登录失败(因为 AUT 已关闭或登
我想在我的 @BeforeTest 方法中将一些 Web 范围注册到 spring 上下文。但事实证明,此时 spring 上下文仍然是 null。 不过,如果我更改为 @BeforeMethod,测
我有一些旧的 MbUnit 代码,如下所示: public class MyFixture { [SetUp] public void SetUp() { // Add
下面是我的 XML 文件和演示类。 Precondition() 方法将在 demo1() 方法之前运行,而 postCondition() 方法将在 demo1() 方法之后运行。 demo2()
我有一个单元测试在当前格式下运行良好。我的单元测试如下所示: import org.springframework.beans.factory.annotation.Autowired; import
我期望以下输出: Running TestSuite [DEBUG] beforeClass [DEBUG] beforeTest [DEBUG] test [DEBUG] afterTest [DE
我是一名优秀的程序员,十分优秀!