0

我正在寻找一种在 testng 运行期间设置启动名称的方法。这在配置(rp.launch)中设置。我需要为每个 testng 运行设置一个自定义启动名称。我正在使用 agent-java-testng:4.0.0-BETA-1

我尝试了建议的替代方法,但找不到此处提到的类 - ConfigurationModule & TestNGAgentModule:https ://github.com/reportportal/agent-java-testNG

public class MyListener extends BaseTestNGListener {
    public MyListener() {
        super(Injector.create(Modules.combine(Modules.override(new ConfigurationModule())
                        .with(new Module() {
                            @Override
                            public void configure(Binder binder) {
                                Properties overrides = new Properties();
                                overrides.setProperty(ListenerProperty.UUID.getPropertyName(), "my crazy uuid");
                                PropertiesLoader propertiesLoader = PropertiesLoader.load();
                                propertiesLoader.overrideWith(overrides);
                                binder.bind(PropertiesLoader.class).toInstance(propertiesLoader);
                            }
                        }),
                new ReportPortalClientModule(),
                new TestNGAgentModule()
        )));
    }
}

我有一个要添加到 TestNG 的自定义侦听器 (ReportPortalTestNGListener)

TestNG myTestNG = new TestNG(); XmlSuite 套件 = 新 XmlSuite(); ... 列出 mySuites = new ArrayList(); mySuites.add(套件);

        ReportPortalTestNGListener listener = new ReportPortalTestNGListener();


        myTestNG.addListener((Object)listener);
        myTestNG.setUseDefaultListeners(false);

        // add test suite
        myTestNG.setXmlSuites(mySuites);
        myTestNG.run();
4

1 回答 1

0

不幸的是,由于格式的原因,问题的描述很难理解。一般来说,在运行时设置启动名称有两种选择: 1) 使用环境/JVM 变量。您应该了解,应该在初始化 ReportPortal 的侦听器之前设置变量。2) 扩展 ReportPortal 侦听器并将启动时间传递给请求构建器。请使用以下代码段作为示例

于 2018-03-12T22:47:38.053 回答