我有一个自动化项目,我最近更新,以并行运行一组Android和iOS测试。我的报告文件聚合正常,但由于它们运行相同的功能,最终的报告无法确定哪些在Android上运行,哪些在iOS上运行。
这是一个非常标准的Cucumber,Gherkin,Java项目。我正在试图找出将Android / iOS这个词放入功能名称字段的最佳方法,因此在生成的报告中可以很容易地识别它。
我想到的两个选项是在@Before步骤中,以某种方式修改功能名称。但是,看起来Scenario对象的所有字段都只有getter。
第二种选择是,如果可以在.feature文件本身中引用系统属性或环境变量。但是,我没有看到任何可行的方法。
有人曾尝试过这个吗?我可以根据需要发布代码,这是一个一般性的问题,我怎么能动态地更改功能名称,或者在运行时通过环境变量更改功能文件本身。
谢谢
I think this similar question may have the answer you're seeking。
基本上,您将创建自己的运行器类型(或修改现有的运行器类型),并在其中设置自定义报告路径。