Можно ли удалить сценарий из отчета, если он имеет определенный шаговый результат? - PullRequest
0 голосов
/ 05 августа 2020

У меня около 100-150 сценариев ios, которые разбиты на разные теги (prio-1, prio-2, prio-3). Большая часть тестов находится в prio-3. Эти тесты сначала сосредоточены на поиске определенного клиента в базе данных с указанными c флагами и выполнении потока.

Проблема в том, что база данных меняется, и сегодня у меня может быть клиент, которого вчера я не делал. . Что я хочу сделать, это запустить все тесты и, когда результат определенного шага будет виден в методе @After, полностью удалить его из отчета.

Это обеспечит выполнение всех возможных тестов .

    @After
    public void afterScenario(Scenario scenario) throws Exception {
        Field f1 = scenario.getClass().getDeclaredField("delegate");
        f1.setAccessible(true);
        TestCaseState testCaseState = (TestCaseState) f1.get(scenario);
        System.out.println(testCaseState);
        Field f2 = testCaseState.getClass().getDeclaredField("stepResults");
        f2.setAccessible(true);
        List<Result> results = (List<Result>) f2.get(testCaseState);
        System.out.println(results.get(0).getError());
        if(results.get(0).getError().toString().contains("No customer found")){
            // code to remove scenario from report
        }
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...