如何获得主人套房名称?
Posted
技术标签:
【中文标题】如何获得主人套房名称?【英文标题】:How to get the master suite name? 【发布时间】:2020-01-27 12:01:45 【问题描述】:从主文件运行 selenium 套件文件时,我想获取主 xml 的套件名称。
我尝试使用 ISuite 和 ITestContext 但它返回当前正在运行的套件名称
大师:
<suite name="Master Suite" >
<listeners>
<listener class-name="ExtentReport.TestListener" />
</listeners>
<suite-files>
<suite-file path="pri_order_schemes.xml" />
<suite-file path="pri_sale_schemes.xml" />
</suite-files>
</suite>
组曲 1:
<suite name="slave 1" preserve-order="false">
<listeners>
<listener class-name="ExtentReport.TestListener" />
</listeners>
<test name="Bizom Order with QTY based schemes enter QTY in units testing">
<classes>
<class name="orders.primaryorders." />
</classes>
</test>
</suite>
组曲 2:
<suite name="slave 2" preserve-order="false">
<listeners>
<listener class-name="ExtentReport.TestListener" />
</listeners>
<test name="Bizom Order with QTY based schemes enter QTY in units testing">
<classes>
<class name="orders.primaryorders." />
</classes>
</test>
</suite>
我想将套件名称设为“Master Suite”,但我得到的是“slave 1”或“slave 2”
【问题讨论】:
【参考方案1】:您可以使用 ITestResult 来做到这一点:
iTestResult.getTestContext().getSuite().getName();
【讨论】:
不走运 :)..ItestResult 还返回当前执行的套件名称而不是主套件 那么我会建议你将断点放在你有 iTestResult 实例的方法上,并检查你能从中得到什么。我只有一个套件和很多测试,所以我无法自己测试。 嗨......正如我在之前的评论中提到的,我得到的是从属套件名称而不是主套件名称 您是否并行运行测试?【参考方案2】:你可以在下面得到它
iTestResult.getTestContext().getSuite().getParentSuite();
看看here
【讨论】:
以上是关于如何获得主人套房名称?的主要内容,如果未能解决你的问题,请参考以下文章