为了账号安全,请及时绑定邮箱和手机立即绑定

TestNG:测试用例被忽略

TestNG:测试用例被忽略

慕婉清6462132 2023-08-16 15:50:07
我正在使用TestNG框架为我的应用程序编写测试用例Android。我正在使用Appium测试工具。为此,我定义了以下文件:pom.xml文件 - 依赖项所需一班BaseTest.java_两个儿童班级从BaseTest.javatestng.xml文件 - 定义其中运行的测试类。为了更好地理解我的问题发布类和 xml 文件。这是pom.xml<?xml version="1.0" encoding="UTF-8"?><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>com.example.testing</groupId>    <artifactId>android-appium</artifactId>    <version>1.0-SNAPSHOT</version>    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <configuration>                    <source>11</source>                    <target>11</target>                </configuration>            </plugin>        </plugins>    </build>    <dependencies>        <dependency>            <groupId>org.testng</groupId>            <artifactId>testng</artifactId>            <version>6.14.3</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>io.appium</groupId>            <artifactId>java-client</artifactId>            <version>7.1.0</version>            <scope>test</scope>        </dependency>    </dependencies></project>这是BaseTest.java班级import org.testng.annotations.AfterSuite;import org.testng.annotations.BeforeSuite;public class BaseTest {    @BeforeSuite    public void setUp()    {    }    @AfterSuite    public void tearDown()    {    }}splashScreen_2()当我使用 appium 工具运行此代码时,在类的第二个函数上FirstTest.java出现错误“测试被忽略”并且它无法正常运行。secondScnario_2但是,当我在文件中取消注释testng.xml并注释 FirstScenario_1 时,我的测试用例会正常运行(正如我在注释中提到的那样)并且 Android 应用程序会正确地一一执行每个函数。但我想<test> </test>执行testng.xml.如果我secondScnario_2在testng.xml文件中使用,那么我需要为每个场景提供单独的测试名称。我只想使用一个测试名称。所以当我FirstScenario_1在文件中使用时,为什么这里会发生忽略测试testng.xml的错误 ?
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

根据您在评论中所描述的内容,我认为您希望通过在一个测试中定义所有类来按顺序运行所有内容。然后,您应该删除优先级和组,并使用此 xml 运行它preserve-order="true"。这应该按照 xml 中定义的顺序运行测试


<?xml version="1.0" encoding="UTF-8"?>

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

<suite name="androidapp" >


    <test name="FirstScenario_1" preserve-order="true">


        <classes>  

         <class name="scenarios.FirstTest" >

               <methods> 

                  <include name="setUpDriver" />

                  <include name="splashScreen_1" /> 

                  <include name="splashScreen_2" />

               </methods> 

        </class>

            <class name="scenarios.SecondTest">

               <methods> 

                  <include name="logInScreen_1" />

                  <include name="logInScreen_2" />

               </methods>

          </class>

        </classes>

    </test>

</suite>

您还可以按照@dependsOnMethods您想要的顺序运行方法。看看这个。那里描述的顺序也应该可以帮助您解决这个问题


查看完整回答
反对 回复 2023-08-16
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信