Какие важные зависимости необходимы для фреймворка Cucumber и интеграции TestNG? - PullRequest
0 голосов
/ 29 декабря 2018

Я создал базовый фреймворк Cucumber с помощью проекта Maven в Eclipse IDE.

Я пытаюсь выполнить все классы бегунов с помощью комплекта TestNG.Для этого мне нужно добавить все зависимости, необходимые для интеграции Cucumber и TestNG, в файл pom.xml.

Класс бегуна 1

package tests.report.runners;
import cucumber.api.CucumberOptions;
@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class ReportRunner {

}

Класс бегуна 2

package tests.dashboard.runners;
import cucumber.api.CucumberOptions;
@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class DashboardRunner {

}

testng.xml

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

<suite name="First Suite" parallel="classes">
<test name="Chrome Test" parallel="classes">


<classes>
<class name ="tests.report.runners.ReportRunner"></class>
<class name ="tests.dashboard.runners.DashboardRunner"></class>

</classes> 


</test>
</suite> 

Структура пакета здесь:

framework

Однако я получаю эту ошибку:

Не удается найти класс в classpath: \ src \ test \ java \ tests \ report \ runners \ ReportRunner.java

Как мне отладить это?

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Сначала вы должны расширить этот класс AbstractTestNGCucumberTests в своем классе запуска.

Если выполнение теста после расширения выше класса не сработало, вы можете создать папку высокого уровня и именованные функции.Нажмите на проект, добавьте новую папку и переместите свой файл объектов в папку.И соответственно вы должны изменить значение параметра функции CucumberOptions.

0 голосов
/ 31 декабря 2018

Я думаю, что вы не расширяете класс testNG в классе Runner, что может быть причиной, поскольку JVM не будет знать, что она должна использовать TestNG.

public class ReportRunner extends AbstractTestNGCucumberTests{

}

Попробуйте использовать приведенный выше оператор для обоих участников итогда попробуй.

...