【问题标题】: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”

【问题讨论】:

    标签: selenium testng appium testng.xml


    【解决方案1】:

    您可以使用 ITestResult 来做到这一点:

    iTestResult.getTestContext().getSuite().getName();
    

    【讨论】:

    • 不走运 :)..ItestResult 还返回当前执行的套件名称而不是主套件
    • 那么我会建议你将断点放在你有 iTestResult 实例的方法上,并检查你能从中得到什么。我只有一个套件和很多测试,所以我无法自己测试。
    • 嗨......正如我在之前的评论中提到的,我得到的是从属套件名称而不是主套件名称
    • 您是否并行运行测试?
    【解决方案2】:

    你可以在下面得到它

    iTestResult.getTestContext().getSuite().getParentSuite();
    

    看看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2012-07-28
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多