2016-12-14 3 views
1

Это больше вопрос о дизайне рамки автоматизации тестирования. Очень сложно действительно суммировать весь вопрос в одной строке :) Я создаю систему автоматизации тестирования с использованием Selenium. В основном я обращаюсь к данным (имя методов) из файла excel.Как изменить метод @Test динамически в TestNG

В моем основном классе Runner Я получаю список тестовых примеров. Каждый тестовый пример имеет набор методов (может быть одинаковым или разным), который я определил в классе java и выполняю каждый метод с использованием java-отражения api. Все хорошо до этого момента.

Теперь я хочу включить TestNG и отчетность/протоколирование в моем пакете автоматизации. Проблема в том, что я не могу использовать @Test для каждого метода, поскольку TestNG считает @Test = 1 Test Case - но мой 1 тестовый пример может иметь более 1 метода. Мои методы больше похожи на тестовые шаги для тестового примера, причина в том, что я не хочу повторять код. Я хочу создать @Test, динамически вызывающий различные наборы методов и исполняющий их в Java или определяющий каждый teststeps для @Test. Я просматривал документацию TestNG, но не смог найти какую-либо функцию для обработки этой ситуации.

Любая помощь действительно ценится, и если у вас есть какие-либо другие мысли, чтобы справиться с этой ситуацией, я здесь, чтобы послушать.

ответ

0

Вы попробовали следующее?

@Test(priority = 1) 
    public void step1() { 
    //code 
} 
@Test(priority = 2) 
    public void step2() { 
    //code 
} 

Для каждого метода необходимо использовать «приоритет», иначе он не будет работать.

Смежные вопросы