当前位置: 首页 > 知识库问答 >
问题:

无法在TestNG测试套件中只执行一个组

苏乐
2023-03-14
mvn clean install -Dsuite=smokeTests -Dgroups=loginTest -Denv=qa-env -Dusr=username -Dpwd=password
... 
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>              
                <version>2.3.2</version>
                <configuration>
                    <compilerVersion>1.6</compilerVersion>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>             
                <configuration>
                    <includes>
                        <include>**/*.java</include>
                        <include>**/*.xml</include>
                    </includes>                 
                    <groups>${groups}</groups>          
                    <suiteXmlFiles>
                        <!--  suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile-->
                        <suiteXmlFile>src/main/resources/suites/${suite}.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <testSourceDirectory>src/main/java</testSourceDirectory>
                    <properties>
                        <property>
                            <name>usedefaultlisteners</name>
                            <value>false</value>
                        </property>
                        <property>
                            <name>listener</name>
                            <value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
                        </property>
                    </properties>
                </configuration>
            </plugin>           
        </plugins>
    </build>
...

POM依赖项

<dependencies>
    <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.3.1</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.3</version>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.34.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.34.0</version>
    </dependency>  
    <dependency>
        <groupId>com.github.detro.ghostdriver</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.uncommons</groupId>
        <artifactId>reportng</artifactId>
        <version>1.1.4</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>             
            </exclusion>      
        </exclusions>
    </dependency>
    <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.3</version>
        <!-- http://jira.codehaus.org/browse/JAXEN-217 -->
        <exclusions>
            <exclusion>
                <groupId>maven-plugins</groupId>
                <artifactId>maven-cobertura-plugin</artifactId>
            </exclusion>
            <exclusion>
                <groupId>maven-plugins</groupId>
                <artifactId>maven-findbugs-plugin</artifactId>
            </exclusion>
        </exclusions>
    </dependency>      
    <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.12</version>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>
    <dependency>
        <groupId>org.beanshell</groupId>
        <artifactId>bsh</artifactId>
        <version>1.3.0</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <!--scope>test</scope-->
    </dependency>
</dependencies>

测试套件。xml

<suite name="SmokeTest" verbose="10" parallel="tests" data-provider-thread-count="5">
    <test name="loginTest"> 
        <classes>
            <class name="com.tests.smoke.WebPage_LandingPage" />    
        </classes>
        <groups>
            <run>
                <include name="loginTest"/>
            </run>
        </groups>
    </test>

    <test name="paginationTest">    
        <classes>
            <class name="com.tests.smoke.WebPage_Pagination" /> 
        </classes>
        <groups>
            <run>
                <include name="paginationTest"/>
            </run>
        </groups>
    </test>


    <listeners>
        <listener class-name="org.uncommons.reportng.HTMLReporter" />
        <!--listener class-name="org.uncommons.reportng.JUnitXMLReporter" /-->
    </listeners>

</suite>

共有1个答案

乐华晖
2023-03-14

因此,正如我在上面的评论中所说的那样,我决定今天更多地考虑这一点,并认为我将摆弄直接影响测试调用的单个依赖项。在尝试了不同版本的jUnit之后,我决定回到以前在一个较老的项目中使用的TestNG的较老版本。

更改为:

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.0.1</version>
    <scope>compile</scope>
</dependency>

这允许用户输入以下maven语句来只执行调用的for测试组

mvn clean install -Dsuite=<Smoke> -Dgroups=<testgroup1> -Denv=<thisisanEnvironment> -Dusr=<username> -Dpwd=<password>
 类似资料:
  • 我正在尝试运行配置套件文件的并行测试。测试是针对使用Selenium的web应用程序。套件文件由多个测试组成。每个测试都包含多个测试类。每个测试中的第一个类用于初始化(@beforetest)WebDriver并关闭它(@aftertest)。WebDriver是静态的,以便将其传递给其他类(原因是我们需要从最后一个测试类结束的地方继续测试)。 当套件配置为按顺序运行测试时,测试将成功运行。但是当

  • 我试图使用XML和TestNG运行一个测试套件,但是我总是同时使用Eclipse和命令行得到相同的消息: 该文件已正确读取,但测试似乎没有运行。 以下是我的testng.xml的内容: 这是我的目录结构在Eclipse中的样子: 此外,这也是我试图通过命令行运行测试套件的方式: 我尝试过通过eclipse清理项目,但似乎没有帮助。我也试过跑步: < code>mvn clean,但它也没有完成工作

  • 我已经在maven中创建了以下项目。 我使用如下页面对象模型: 我的测试是用 testNG 编写的,如下所示: 我的Pom.xml如下: 还有测试。xml如下: 我尝试在命令行中通过maven使用命令“mvn clean test”执行测试 我在执行上述命令时收到以下错误:

  • 我设置了Selenium grid2,它与以下并行TestNG测试套件配合得很好: 但是当我在TestNG蚂蚁任务中执行测试时,并行不再工作。 在我将测试套件文件中的并行模式更改为“tests”后,它再次工作,如下所示: 那么,这是否意味着TestNG ant任务不支持“类”并行测试套件?

  • 主要内容:1. 测试类,2. testng.xml,其他例子测试套件是用于测试软件程序的行为或一组行为的测试用例的集合。 在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,因为套件是执行的功能。 它还允许灵活配置要运行的测试。 套件可以包含一个或多个测试,并由标记定义。 是的根标记。 它描述了一个测试套件,它又由几个部分组成。 下表列出了接受的所有定义的合法属性。 属性 描述 name 套件的名称,这是一个强制属性。 ve