我正在寻找一种在testng运行期间设置启动名称的方法。否则在配置(rp.launch)中设置。我需要为每个testng运行设置一个自定义启动名称。我正在使用agent-java-testng:4.0.0-BETA-1
我尝试了建议的替代方法,但无法找到此处提到的类 - ConfigurationModule& TestNGAgentModule:https://github.com/reportportal/agent-java-testNG
``` 公共类MyListener扩展BaseTestNGListener { public MyListener(){ super(Injector.create(Modules.combine(Modules.override(new ConfigurationModule()) .with(new Module(){ @覆盖 public void configure(Binder binder){ 属性覆盖= new Properties(); overrides.setProperty(ListenerProperty.UUID.getPropertyName()," my crazy uuid"); PropertiesLoader propertiesLoader = PropertiesLoader.load(); propertiesLoader.overrideWith(覆盖); binder.bind(PropertiesLoader.class).toInstance(propertiesLoader); } }), 新的ReportPortalClientModule(), 新的TestNGAgentModule() ))); } }
``` 我有一个自定义监听器(ReportPortalTestNGListener),我将其添加到TestNG
TestNG myTestNG = new TestNG(); XmlSuite suite = new 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();
答案 0 :(得分:0)
不幸的是,由于格式化,很难理解问题的描述。 一般来说,在运行时设置启动名称有两个选项: 1)使用环境/ JVM变量。您应该了解在初始化ReportPortal的侦听器之前应该设置变量。 2)扩展ReportPortal侦听器并将启动时间传递给请求构建器。请使用以下snippet as example