如何获得主人套房名称?

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

【讨论】:

以上是关于如何获得主人套房名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得具有已知名称的列左侧的列名称?

PHP中如何获得当前类的名称,而实例化后获取子类的名称

c ++如何获得系统所有窗口名称 包括隐藏窗口

VB6中如何获得指定进程名称

C#问题 如何获得一个文件夹的名称

VB 如何获得Excel的工作表数和名称?