Как использовать System.setProperty для установки @CucumberOptions - PullRequest
0 голосов
/ 08 мая 2019

Я использую testNG для выполнения тестов Cucumber.Я хотел бы переопределить @CucumberOptions с помощью пользовательских значений, которые приходят из файла конфигурации.Как я могу установить @CucumberOptions в TestNG?

Код ниже - не работает, используются значения @CucumberOptions.

@CucumberOptions(features = { "src/test/resources/features/" }, tags = { "@Test3" }, glue = { "stepdefinitions" }, plugin = { "listeners.ExtentCucumberFormatter:" })
public class TestNGRunner extends AbstractTestNGCucumberTests {

private static Logger Log = Logger.getLogger(Log.class.getName());
private static String hostname = "Unknown";
private TestNGCucumberRunner tcr;
private String featureName;

@BeforeClass(alwaysRun = true)
public void beforeClass() throws Exception {
    ExtentProperties extentProperties = ExtentProperties.INSTANCE;
    File theDir = new File(GetPath.getLocalReport() + "\\" + listeners.Reporter.getReportDir());
    if (!theDir.exists()) {
        Log.info("Creating test automation report directory " + theDir.getName());
        boolean result = false;
        try {
            theDir.mkdir();
            result = true;
        } catch (SecurityException se) {
            Log.severe("Write permission denied.");
        }
        if (result) {
            Log.info("The directory was created successfully.");
        }
    }
    extentProperties.setReportPath(listeners.Reporter.getReportFullPath());
    System.setProperty("cucumber.options", "--tags @TestERROR");
    tcr = new TestNGCucumberRunner(this.getClass());
    }
    }
}
...