Я создаю инфраструктуру автоматизации с использованием Cucumber для BDD, JUnit и Selenium, у нас есть экземпляр testrail в облаке для управления тестами, и я реализовал API-интерфейс testrail для получения всех тестовых примеров, проблема в том, что я ' Я не могу выполнить эти шаги для получения тестовых случаев, потому что cucumber
всегда проверяет наличие первого файла объектов.
Я пробовал с @Before (Cucumber)
, @BeforeClass (JUnit)
, и результат всегда одинаков:
На [classpath: functions] нет функций
0 Сценарии
0 шагов
0m0.019s
Это основной класс, запускающий процесс:
import cucumber.api.CucumberOptions;
import cucumber.api.java.Before;
import cucumber.api.junit.Cucumber;
import org.apache.log4j.Logger;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import static
com.mps.framework.support.support.Property.BROWSER_NAME;
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = "json:target/cucumber.json",
features = {"classpath:features"},
glue = {"com.selenium.test.stepdefinitions", "com.mps.selenium.hook"},
tags = {"not @ignore"})
public class SeleniumCukes {
private static final Logger LOG = Logger.getLogger(SeleniumCukes.class);
@BeforeClass
public static void startSelenium() {
LOG.info("### Starting Selenium " +
BROWSER_NAME.toString().toUpperCase() + " ###");
}
@AfterClass
public static void stopSelenium() {
LOG.info("### Stopping Selenium ###");
}
}
Это класс крючков:
import com.mps.selenium.base.SeleniumBase;
import cucumber.api.Scenario;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import org.springframework.beans.factory.annotation.Autowired;
import static com.mps.framework.support.hook.Hooks.hookAfter;
import static com.mps.framework.support.hook.Hooks.hookBefore;
public class Hooks {
@Autowired
private SeleniumBase seleniumBase;
@After
public void after() {
hookAfter(seleniumBase.getDriver());
}
@Before
public void before(Scenario scenario) {
hookBefore(scenario);
}
}