有时您可能只需要在运行时更改套件 xml 中的套件(或)测试标记,而无需更改套件文件的内容。
    一个典型的例子是尝试利用您现有的套件文件并尝试使用它来模拟“被测应用程序”上的负载测试。至少,您最终会多次复制 标记的内容并创建一个新的套件 xml 文件并使用。但这似乎并没有太大的规模。
    TestNG 允许您在运行时通过侦听器更改套件 xml 文件中的套件(或)测试标记。您可以通过提供实现IAlterSuiteListener的侦听器来实现此目的。请参阅监听器部分以了解监听器。
    这是一个显示套件名称如何在运行时更改的示例:

    1. public class AlterSuiteNameListener implements IAlterSuiteListener {
    2. @Override
    3. public void alter(List<XmlSuite> suites) {
    4. XmlSuite suite = suites.get(0);
    5. suite.setName(getClass().getSimpleName());
    6. }
    7. }

    只能通过以下任一方式添加此侦听器:

    无法使用@Listeners注释将此侦听器添加到执行中。