#java #automation #cucumber #testng #bdd
Вопрос:
Я хочу спросить, например, есть ли у меня класс определения шага GithubHomePageSteps.java соответствует файлу функций GithubHomePage.feature и классу общих шагов CommonSteps.java в том же пакете, который называется «шаги», как мне запустить тестовые примеры.
Здесь, в классе общих шагов, я сказал, что инициализация драйвера chrome в настройке() и выход из метода драйвера chrome в чистом(). Я поместил аннотации @BeforeSuite и @AfterSuite перед настройкой() и очисткой() выборочно.
Я также создал testng.xml (где я включил эти два класса CommonSteps и GitHubHomePageSteps) и класс TestRunner в пакет под названием runner. Когда я пытаюсь запустить тест, используя testng.xml файл, запущенный как TestNG Suite, я получаю исключение TestNgException, которое не может создать экземпляр класса GithubHomePageSteps. Кто-нибудь может мне помочь?
testNg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="steps.GithubHomePageSteps"/>
<class name="steps.CommonSteps"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
TestRunner.java:
package runner;
import org.testng.annotations.Test;
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
@CucumberOptions(
features = {"src/test/resources/features"},
glue = "steps",
plugin = {"pretty", "json:target/json-report/cucumber.json"},
dryRun = false,
monochrome = true
)
@Test
public class TestRunner extends AbstractTestNGCucumberTests {
}
Ответ №1:
Просто добавьте классы определения шагов в клей, как показано ниже :
клей = { «com/arb/aut/Логин/Определения шага», «com/arb/aut/Панель мониторинга/Определения шага», «com/arb/aut/Карты/определения шага», «com/arb/aut/Крючки» }