Я создал класс, который должен создать и выполнить xml-файл testng.
public static void runTestNG_XML() {
XmlSuite suite = new XmlSuite();
suite.setName("All_TC");
XmlTest test = new XmlTest(suite);
test.setName("All_TC");
XmlRun xmlRun = new XmlRun();
xmlRun.onInclude(test.getName());
List<XmlPackage> packages = new ArrayList<XmlPackage>();
packages.add(new XmlPackage("testCases.*"));
test.setXmlPackages(packages);
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestNG tng = new TestNG();
tng.setXmlSuites(suites);
TestListener tla = new TestListener();
tng.addListener((ITestNGListener) tla);
tng.run();
}
Это создаст следующий XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All_TC">
<test name="All_TC">
<packages>
<package name="testCases.*"/>
</packages>
</test> <!-- All_TC -->
</suite> <!-- All_TC -->
При выполнении тестовые случаине выполненоОбщее количество выполненных тестов: 0, сбоев: 0, пропусков: 0
Если я запускаю XML как комплект TestNG, он работает.
Что замечено, так это то, что при запуске вручную, в консоли я имеюдо выполнения тестов:
[TestNG] Running: C:\Xml_Path\testng_auto.xml
но при запуске с использованием приведенного выше класса у меня есть до запуска выполнения:
[TestNG] Running: Command line suite
но это может быть потому, что используется CMD.
Тесты:
package testCases;
import org.testng.annotations.Test;
public class Scenario_1 {
@Test
public void TestCase_1() {
System.out.print("test1");
}
@Test
public void TestCase_2() {
System.out.print("test2");
}
}
testng-версия: 6.14.3
Спасибо,
Обновление <------------- </p>
Я добавил подробный уровень и получаю следующую ошибку.
[TestNG] Тесты не найдены.Ничего не было запущено
Я пытался изменить XmlPackage на:
test.src.test.java.testCases.*
src.test.java.testCases.*
test.java.testCases.*
java.testCases.*
test.src.test.java.testCases
src.test.java.testCases
test.java.testCases
java.testCases
ничего не получалось.Вот структура проекта: