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

在Jenkins上运行我的测试套件有问题

颛孙安康
2023-03-14

这是我看到的堆栈跟踪错误

[INFO] --- maven-surefire-plugin:2.8.1:test (default-test) @ eselenium-smartpearsonplayer-pageobjects ---
[INFO] Surefire report directory: c:\jenkins\workspace\MediaPlayerTest\target\surefire-reports
There are no tests to run.

我知道这可能是由于任何原因。所以,让我试着给你更多的信息,虽然这是一个遥远的希望,也许你可以帮助。我正在使用SeleniumWebDriver 2.29编写测试。我也在和maven一起建设。我正在尝试使用testng来配置我正在使用的测试。我正在使用jenkins来运行maven项目,我正在尝试进行“清理验证”,有时还进行“清理测试”,因为我不知道两者之间的区别。

本地我使用eclipse。在本地,我可以使用maven test在maven上运行测试,并使用maven验证。

我的pom里有些东西。

<!-- attempt to use surefire to run tests -->
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.8.1</version>
                <configuration>
                    <suiteXmlFiles>
                             <suiteXmlFile>src\test\resources\testng\TestBrowserPOC_Test.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
            <!-- end attempt -->

同样,当我在eclipse上执行maven验证时,测试运行良好。

这是我的testngxml。

<!DOCTYPE Suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="BrowserPOC_Tests">

        <!-- class does not exist -->
        <!-- <test name="Demo Test"> <parameter name="url"     value="src/test/resources/testData/login.html"></parameter> 
            <groups> <run> <exclude name="errorDetector"></exclude> </run> </groups> 
            <classes> <class name="com.pearson.demotests.DemoTestIT" /> </classes>         </test> -->
        <test name="POC test">
            <groups>
                <run>
                    <include name="volumeTest"></include>
                </run>
            </groups>
            <classes>
                <class name="com.pearson.poc_tests.BrowserPOCIT" />
            </classes>
        </test>
</suite>

现在,我将尝试更改xml的名称,以遵循“命名约定”,看看这是否有什么作用。同样,这些测试在eclipse上运行良好,只是在jenkins上没有。我不知道从这里该做什么,或者我需要什么其他信息。我从这里开始的步骤只是从詹金斯的专家那里得到更多的帮助。

哦,我认为我对测试xml的命名约定是正确的。我也认为我正在使用一个自由式项目,作为maven构建。我应该使用“mvn清洁测试”而不是“清洁测试”吗?

共有2个答案

江琦
2023-03-14

我过去使用maven故障安全插件。下面是我的配置。您将运行mvn clean verify<始终建议使用code>mvn clean,因为它将在编译和运行测试之前删除您的目标目录。

<properties>
        <functionalSourceDirectory>src/itest</functionalSourceDirectory>
</properties>

<plugin>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.11</version>
    <configuration>
       <testSourceDirectory>${functionalSourceDirectory}</testSourceDirectory>
       <suiteXmlFiles>
         <suiteXmlFile>src/itest/resources/testng.xml</suiteXmlFile>
       </suiteXmlFiles>
     </configuration>
     <executions>
        <execution>
           <id>verify</id>
           <phase>verify</phase>
           <goals>
             <goal>verify</goal>
           </goals>
        </execution>
     </executions>
 </plugin>
刁文光
2023-03-14

谢谢大家。事实证明,我的jenkins配置中有两个存储库。詹金斯在错误的项目中寻找测试。

 类似资料:
  • 问题内容: 我有一个Katalon测试套件设置,它在用户界面和我安装了Katalon studio的计算机上的CLI中都运行良好。 我有一个在Docker容器中运行的Jenkins CI服务器,我想设置一个作业在该Jenkins服务器上运行我的测试套件。 我在Jenkins服务器上需要什么运行时才能运行Katalon作业?为此,是否有Jenkins的运行时或插件? 如果不是,是否有Katalon的

  • 问题内容: 我正在尝试从Jenkins运行TestNG测试(在一个包含的Java项目中),但是没有运气。 似乎Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng- plugin )仅发布TestNG测试的结果,但实际上不运行测试类…或我错了吗? 无论如何,我如何在Jenkins的TestNG项目中实际运行TestN

  • 我试图从Jenkins那里运行TestNG测试(在一个包含Java的项目中),但没有成功。 看起来好像是Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng-plugin)只发布TestNG测试的结果,但不实际运行测试类。。。还是我错了? 在任何情况下,我如何在与Jenkins的TestNG项目中实际运行TestNG

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

  • 我在本地安装了两个Docker容器,其中包括Jenkins和Selenium。我有一个用Java编写的Maven项目,其中我创建了一套使用Selenium实现的E2E(端到端)测试。从IntelliJ的终端,使用“mvn测试”(或mvn清洁测试或其他组合)命令,测试正在运行,即使我对Chrome驱动程序使用headless或not。另外,这是用POM编写的插件之一: XML套件文件包含每个自动测试