Использование нескольких тегов для запуска в карате - PullRequest
0 голосов
/ 20 декабря 2018

Допустим, у меня есть 4 файла с характеристиками, которые написаны в версии карате 0.9.0.Я помечаю функцию 1 с @ F1 , функцию 2 с @ F2 , функцию 3 с @ F3 , функция 4 с @F4.

С другой стороны, у меня есть класс бегуна, который помещается в корень всех этихфайлы функций.Теперь я хочу запустить @ F1 , @ F2 И @ F3 , но не @ F4 теги.

IЯ использую KarateOptions, как показано ниже:

@KarateOptions(tags = {"@F1", "@F2", "@F3", "~@F4"} )

Видимо, я делаю что-то не так, поскольку в моих cucumber-html-reports нет никаких выводовфайл.

Заранее спасибо.

РЕДАКТИРОВАТЬ 1: Вот весь мой код класса бегуна:

@KarateOptions(tags = {"@F1", "@F2", "@F3", "~@F4"} )
public class TestRunnerAutomation {

@Test
public void testParallel() {
    Results results = Runner.parallel(getClass(), 5);
    generateReport(results.getReportDir());
    assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}

public static void generateReport(String karateOutputPath) {
    Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] {"json"}, true);
    List<String> jsonPaths = new ArrayList(jsonFiles.size());
    jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
    Configuration config = new Configuration(new File("target"), "demo");
    ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
    reportBuilder.generateReports();
}
}

1 Ответ

0 голосов
/ 09 января 2019

Для запуска тестов с использованием tags с несколькими условиями нам необходимо использовать логические условия в тегах.

И :

Для запуска каждой функции, которая имеет обаТеги @ F1 и @ F2.

{"@F1", "@F2"}

ИЛИ :

Для запуска каждой функции, имеющей любой из @ F1 и @ F2теги (запускает оба)

{"@F1,@F2"}

Объединение ИЛИ и И :

Для запуска функции, имеющей либо @ F1, @ F2,Теги @ F3, но не теги @ F4

{"@F1,@F2,@F3","~@F4"}

...