Мне нужно иметь возможность запускать мои тесты Cucumber через командную строку, в настоящее время я использую Cucumber 4 и прочитал следующую документацию: https://cucumber.io/docs/guides/parallel-execution/
Моя проблема: при выполнении команды, указанной нижекажется, что он выполняет все мои тесты вместо того, чтобы только выполнять тесты входа в систему.
Я ожидаю выполнить команду из командной строки, которая нацелена на мой testng.xml, который, в свою очередь, нацелен на моего бегуна, однако предоставляя мне возможностьизменить тестовые теги и количество потоков с помощью командной строки.
Спасибо
Примеры:
Не работает: mvn clean compile test -Denvironment=test4 -Dcucumber.options="src/test/resources/features --glue stepDefinitions --tags @Login--plugin pretty --plugin html:target/cucumber --plugin json:target/cucumber.json --threads 3"
Не работает: mvn clean compile test -Denvironment=test4 -Dcucumber.options="src/test/resources/features --glue stepDefinitions --tags @Login--plugin pretty --plugin html:target/cucumber --plugin json:target/cucumber.json --threads 3 -g parallel src/test/features"
Работает, но запускает все тесты, а не только тесты входа в систему: mvn clean compile test -Ddataproviderthreadcount=2 -Dcucumber.options="--tags @login"
Мой класс бегуна (использует Tesng):
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
import org.testng.annotations.DataProvider;
@CucumberOptions(features = { "classpath:features" }, glue = {
"stepDefinitions"}, monochrome = true, tags = {"@login"}, dryRun = false,
plugin = { "pretty", "html:target/cucumber", "json:target/cucumber.json"})
public class MainRunner extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}
//TestNG xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes">
<!-- <test name="Test" parallel="methods" thread-count="3"> -->
<!-- <test name="Test">-->
<test name="Test">
<classes>
<class name="runners.MainRunner"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->