- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个套房,如 Suite1、Suite2、Suite3 等。我还有一个名为 CommonSuite 的通用套件,它具有 @BeforeSuite
和 @AfterSuite
方法。我有一个 testng.xml,配置了所有套件,并且我正在使用 Maven 故障安全插件来运行测试。一切正常。
现在我的问题是,如果我想在 eclipse 中使用 TestNG 插件运行/调试例如 Suite1,我如何确保我的 CommonSuite 也包含在 Suite1 中?我知道的一种肮脏的方式是,我可以在 testng.xml 中注释所有我不想运行的套件,并仅保留 CommonSuite 和 Suite1,然后作为 TestNG 套件运行/调试。但这似乎不是这样做的正确方法。还有其他更好的方法来实现这一目标吗?
最佳答案
嗨,最好的方法是为套装实现一个监听器类,实现 ISuiteListener
基本类如下所示
public class PlatformSuite implements ISuiteListener {
/**
* This method is invoked before the SuiteRunner starts.
*/
public synchronized void onStart(ISuite suite) {
/*Your before suite implementation here*/
}
/**
* This method is invoked after the SuiteRunner has run all
* the test suites.
*/
public void onFinish(ISuite suite) {
/*Your after suite implementation here*/
}
}}
对于 Eclipse 插件,您可以将 testng xmal 指定为“模板 XML 文件”
要在 testng.xml 中启动监听器,您可以添加以下内容,请记住禁用默认监听器设置
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="DssTestSuite" parallel="false">
<parameter name="useDefaultListeners" value="false"/>
<listeners>
<listener class-name="org.someonr.something.core.PlatformSuite"/>
</listeners>
<test name="sample Test" parallel="false" verbose="2">
<packages>
</packages>
<classes>
</classes>
</test>
此调用将在每个测试套件之前和每个测试套件之后调用
关于java - Eclipse 中带有 TestNG 插件的 @BeforeSuite 和 @AfterSuite 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13053049/
我已经尝试过这个:基类 package pages; import org.testng.annotations.BeforeSuite; public class BaseClass { @
我有一个 @BeforeSuite 注释的方法。 public class MySuiteTest { @BeforeSuite public static void doSometh
我一直致力于 TestNG,但我的一些代码存在问题。代码如下: public class Main { public String baseurl ; public WebDriver webdriv
今天我遇到了一个问题,与Gradle中的beforeSuite{}和afterSuite{}有关。我在gradle 4.1的测试任务中添加了beforeSuite{}和afterSuite{},但是每
我看到了很多例子,在每个例子中我都没有看到任何关于 testNG 中 beforeSuite 和 afterSuite 中需要静态的内容 我的场景是我有 MainRunner 和 BaseTest 来
我有以下 Ginkgo测试文件: package foo import ( "log" . "github.com/onsi/ginkgo" ) var _ = BeforeSuite
我在运行套件来设置每个测试所需的属性时尝试访问 ISuite。 代码如下: 公共(public)类 SingleTester{ IAttributes attributes; @BeforeSuite
当使用 groups 运行 TestNg 时,它会跳过 @BeforeClass 和 @BeforeSuite 方法。但是在没有组的情况下运行它会执行@BeforeClass 和@BeforeSuit
我们可以按照下面的方法来初始化测试数据吗?我想实现两点。 需要从文件中初始化/加载测试数据一次,并在所有数据提供者中使用相同的测试数据。考虑在@beforesuite类中实现测试数据加载器。 在 @t
如果满足@BeforeSuite 注解中的条件,是否有办法退出整个测试套件?也许是一种调用@AfterSuite 并绕过整个测试的方法? 我在@BeforeSuite 中调用数据库。如果查询返回任何结
我正在使用 TestNG 运行简单的自动化代码。我的代码行正在打印到控制台日志并正在执行 - 但我无法调试任何行。 是什么阻止我调试我的代码,即使它有效? @BeforeSuite(alwaysRun
我正在运行一个使用 TestNG 作为测试框架的 spring boot 应用程序。我的测试是这样设置的: 父类,负责设置逻辑并处理所有配置内容: @ContextConfiguration(clas
背景:我的目标是编写一个独立运行的 TestNG-Selenium 系统(没有字符串到 Maven 或 Ant 插件;只有 Java)。它必须允许测试用例接受参数,包括浏览器和域 URL。当 Test
我正在使用 Ginkgo(和 Gomega)包对 Go(lang) Rest API 进行单元测试。 我需要使用全局设置,这应该可以通过定义来实现 var _ = BeforeSuite(func()
方法#1:每次测试前登录: 优点: 每个测试都是不同的 session ,如果一个测试导致浏览器崩溃,只有该测试失败,不会影响其他测试。 可以并行测试。 缺点: 如果登录失败(因为 AUT 已关闭或登
我正在使用 Codeception 构建 API 验收测试。 我熟悉那里的单元测试,并且在运行该类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。 但是我没有找到类似的验收测
我正在使用 Codeception 构建 API 验收测试。 我熟悉那里的单元测试,并且在运行该类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。 但是我没有找到类似的验收测
我是测试自动化领域的新手,如果这是一个愚蠢的问题,请原谅我,但谷歌这次让我失望了。或者至少我读过的任何东西都让我更加困惑。 我在 Eclipse 中使用 JUnit 4 和 Selenium Webd
我可以在没有 @BeforeSuite 注解的情况下运行多个 Chrome 浏览器 session ,但有时我需要分配一些变量或在 @BeforeSuite 中执行某些操作在进入 @BeforeCla
我有一个单元测试在当前格式下运行良好。我的单元测试如下所示: import org.springframework.beans.factory.annotation.Autowired; import
我是一名优秀的程序员,十分优秀!