如何基于mvn arg运行特定的testng套件

时间:2019-07-05 13:30:58

标签: java maven selenium testng owner

我想运行基于mvn -Dplatform arg和-Denv arg的测试套件。我不确定如何正确选择套件,或者也许有更好的方法来运行特定测试?

我知道您可以运行-DsuiteFile=""之类的套件(例如:How to run a particular TestNG suite from multiple suites using maven in Jenkins)。但是我不想像这样运行过于复杂的参数。我想让经理/开发人员更轻松地像“ mvn clean test -Dplatform=desktop/mobile”那样运行它。

我有 $ {env}。$ {platform} .property 文件,如下所示:

url=https://url.com
gridUrl=griurl
username=ab12345
password=password
phoneNumber=9999999999
browser=
browserVersion=
env=test
platform=

套房等级:

<suite name="Parent suite">
    <suite-files>
        <suite-file path="debug.xml"/>
        <suite-file path="testMobile.xml"/>
        <suite-file path="testDesktop.xml"/>
    </suite-files>
</suite>

现在,我有testAll.xml这样的东西(该套件具有移动测试目的只是为了舒适,并且与桌面测试相关联):

<suite name="Basically all tests for web browser">

    <parameter name="browser" value="chrome"/>
    <parameter name="browserVersion" value="74"/>


    <test name="TestDesktop">
        <parameter name="platform" value="desktop"/>
        <parameter name="baseUrl" value="https://url.com"/>

        <groups>
            <run>
                <include name="A/B"/>
            </run>
        </groups>

        <packages>
            <package name="desktop.signup"/>
            <package name="desktop.authorization"/>
        </packages>
    </test>
</suite>

testMobile.xml仅具有关联的移动类别。

我想根据mvn参数(例如 platform environment )运行特定的套件。如果您可以在同时具有这两个参数的套件中进行选择,那将会很酷。与参数 -Dplatform = mobile 一样,我想运行移动套件或台式机,例如,如果val为null,则两者都运行。有可能吗?

0 个答案:

没有答案