Как запустить один тестовый пример (метод) вместо всего набора тестов (класса) с помощью Selenium / TestNG / Maven - PullRequest
0 голосов
/ 16 июня 2020

Итак, в основном мне интересно, как я могу запустить конкретный тестовый пример c (метод) вместо запуска всего класса.

Я запускаю тесты с использованием комбинации Selenium / Maven / TestNG. Моя текущая настройка тестирования выглядит примерно так:

упрощенная команда для запуска тестов:

mvn test -DtestSuiteName = "test"

содержимое теста . xml, используемое в приведенной выше команде:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Selenium Testng Template">
    <test name="TestSuiteTest">
        <classes>
            <class name="listeners.Test_Listener"/>
            <class name="tests.example_test_suite_name"/>
        </classes>
    </test>
</suite>

Слушатель в основном настраивает среду для тестов, запускает предварительно настроенный экземпляр WebDriver и закрывает его после выполнения всех тестов. . Выглядит это примерно так:

@Listeners(Listener_Helper)
class Test_Listener implements IExecutionListener {

    @BeforeSuite
    void openBrowser(){
        prepareEnviroment()
    }

    @AfterSuite
    void closeBrowser(){
        cleanUp()
    }

Теперь о содержимом тестового файла примера. Он состоит из класса, который является чем-то вроде набора тестов, и он содержит несколько методов, которые являются своего рода тестовым примером.

class example_test_suite_name {

    @Test(priority=1)
    void test_name_one() {
        //test instructions
    }

    @Test(priority=2)
    void test_name_two() {
        //test instructions
    }

Подводя итог, это не проблема запустить набор тестов - класс, но как мне запустить один тестовый пример - один метод класса?

Допустим, я хотел запустить только «test_name_one», но не другие методы, которые содержит класс. К сожалению, я не нашел ничего, связанного с этим, в сети.

Любые подсказки по этому поводу были бы очень признательны

1 Ответ

1 голос
/ 16 июня 2020

Вы можете дополнительно указать метод тестирования в xml файле

<groups>
        <run>
            <include name="setName"></include>
        </run>
    </groups>
    <classes>
        <class name="com.journaldev.xml.TestNGXMLTest">
        </class>
    </classes>

Вышеупомянутый набор тестов будет выполнять только методы в группе setName, поэтому будет выполняться только метод test_setName.

...