Maven自动跳过测试

时间:2018-05-06 03:28:59

标签: java maven selenium testng

在通过maven运行selenium测试时,它会自动跳过我的一个测试并运行其他测试。不知道为什么maven的bcos默认行为不会跳过测试。尽管添加<skipTests>false</skipTests>,但它仍然无法解决问题。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite verbose="1" name="BudgetPlus">
<test name="seleniumTests">
       <classes>
        <class name="tests.reportMultipleTests" />
        <class name="tests.addProposalMaxValuesTest" />
        <class name="tests.addProposalMinValuesTest" />
        <class name="tests.addProposalValuesTest" />
        <class name="tests.addProposalValuesTest1" />
        <class name="tests.LoginTest" />
        <class name="tests.InvalidLoginTest" />
       </classes>
    </test>
</suite>

所以在上面的代码片段中,它总是会跳过第一个测试&#34; tests.reportMultipleTests&#34; ,如果我删除其他剩余的测试,并保持这个&#34; tests.reportMultipleTests&#34;,它会成功识别并运行测试,但是如果有多个测试则会跳过它。运行所有测试后,跳过计数也为0.这是一个奇怪的问题,不知道如何解决它。我还升级了maven,testng的版本,做了一个干净的安装,删除了.m2 repo并再次运行了构建,但没有任何效果。有没有人遇到类似的问题?

这是我的Maven个人资料:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>BudgetPlus</groupId>
<artifactId>BudgetPlus</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.14.3</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
<build>
    <sourceDirectory>src/test/java</sourceDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <skipTests>false</skipTests>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <skipITs>false</skipITs>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

3 个答案:

答案 0 :(得分:0)

我使用maclipse使用eclipse IDE for java。如果单击右键单击项目并选择run as - &gt;选择配置 - &gt;然后你会发现跳过测试复选框。根据您的要求检查或取消选中。

答案 1 :(得分:0)

这是maven param -DskipTests = true

  

mvn clean instal -DskipTests = true;

答案 2 :(得分:0)

测试&#34; test.reportMultipleTests&#34;给出问题的是多个子测试,优先级设置为1,2,3等。而其他测试类(tests.addProposalMaxValuesTest,tests.addProposalMinValuesTest)没有设置优先级。我删除了优先级部分并解决了!