Как запустить тестирование с использованием testng, указав только частичное имя класса? - PullRequest
1 голос
/ 08 ноября 2019

Предположим, мое имя файла java - SeleniumID1Test.java, поэтому в настоящее время мой xml-файл testng выглядит так

<test name="Selenium Test Name">
    <classes>           
        <class name="selenium.SeleniumID1Test"/>
   </classes>   
</test>

Но я хочу, чтобы это делалось по частичному имени класса, например, как если бы я указал name =ID1 это выполняет SeleniumID1Test. Есть ли возможность? Пожалуйста, предложите, спасибо.

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Я думаю, что хорошим решением для вашей проблемы может быть использование group , например:

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

public class GroupTestExample {
   String message = ".com";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test(groups = { "functest", "checkintest" })
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      message = ".com";
      Assert.assertEquals(message, messageUtil.printMessage());
   }


   @Test(groups = { "checkintest" })
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "tutorialspoint" + ".com";
      Assert.assertEquals(message, messageUtil.salutationMessage());
   }


   @Test(groups = { "functest" })
   public void testingExitMessage() {
      System.out.println("Inside testExitMessage()");
      message = "www." + "tutorialspoint"+".com";
      Assert.assertEquals(message, messageUtil.exitMessage());
   }  
}

, и ваш файл 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>
0 голосов
/ 08 ноября 2019

Это невозможно, но вы можете включить / исключить определенные методы тестирования из класса тестирования:

public class Test1{
    @Test
    public void test2() {
        System.out.println("printing test_2");
    }

    @Test
    public void test3() {
        System.out.println("printing test_3");
    }
}

XML:

    <test name="WebPackage">
        <classes>
            <class name="test.Test1">
                <methods>
                    <include name="test2"/>
                    <exclude name="test3"/>
                </methods>
            </class>
        </classes>
    </test>
...