无法跳过通过的测试用例,仅在testNG中测试失败的测试用例

时间:2018-07-06 20:15:28

标签: java selenium selenium-webdriver automation testng

我正在尝试使用testNG自动进行网站测试。

假设我为每个网页创建了3个测试用例(尽管在我的案例中有50个以上的测试用例,但是为了简化问题,我只考虑了3个)。

现在,我的前两个测试用例通过了,但是我的第三个测试用例却失败了。我正在将代码更改到该第三页,并且我只想运行该第三测试用例,但是当我运行我的代码时,每次创建新的IE驱动程序实例并从头开始进行测试。

如何使用现有驱动程序实例并仅测试第三个网页。我尝试使用Google搜索,但是找不到任何有用的信息。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您想忽略特定的测试,可以使用以下代码段:

#systemProp.https.proxyPort=port
#systemProp.http.proxyHost=proxy
org.gradle.jvmargs=-Xmx2048m -XX\:MaxPermSize\=512m -XX\:+HeapDumpOnOutOfMemoryError -Dfile.encoding\=UTF-8 -Djava.net.preferIPv4Stack\=true
org.gradle.daemon=true
#systemProp.https.proxyHost=proxy
org.gradle.configureondemand=false
#systemProp.http.proxyPort=port
android.enableBuildCache=true

执行此类时,将仅执行第二次测试。我不知道您是否将所有50个测试都存储在一个类中(希望不是),但是如果是,则可以对测试进行分组。为此,您可以使用以下示例:

import org.testng.Assert;
import org.testng.annotations.Test;

public class IgnoreTest {

   @Test(enabled = false) // this test will be ignored
   public void testPrintMessage() {
      System.out.println("This test is ignored");
   }

   @Test
   public void testSalutationMessage() { // this will be executed
      System.out.println("Test works");
   }
}

然后import org.testng.Assert; import org.testng.annotations.Test; public class GroupTestExample { @Test(groups = { "functest", "checkintest" }) public void testPrintMessage() { System.out.println("Inside testPrintMessage()"); } @Test(groups = { "checkintest" }) public void testSalutationMessage() { System.out.println("Inside testSalutationMessage()"); } @Test(groups = { "functest" }) public void testingExitMessage() { System.out.println("Inside testExitMessage()"); } } 文件将如下所示:

xml

然后在编译测试类之后,使用以下命令:

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name = "Suite1">
   <test name = "test1">

      <groups>
         <run>
            <include name = "functest" />
         </run>
      </groups>

      <classes>
         <class name = "GroupTestExample" />
      </classes>

   </test>
</suite>

您将在本教程中获得更多解释的信息: