Есть ли способ установить глобальные параметры в TestNG?

В настоящее время я автоматизирую веб-приложение, используя структуру Selenium WebDriver вместе с TestNG. Я хочу предоставить параметры для каждого тестового класса в файле testing.xml, но на веб-ресурсах я видел только подход, в котором определенные параметры предопределены для использования для отдельных классов, например:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name = "Parameterization Test Suite">
<test name = "Testing Parameterization">
<parameter name = "browser" value = "Firefox"/>
<parameter name = "username" value = "testuser"/>
<parameter name = "password" value = "testpassword"/>
    <classes>
        <class name = "com.parameterization.TestParameters" />
    </classes>
</test>
</suite>

где в названии класса явно указан только один класс TestParameters.

Есть ли способ задать здесь какие-то параметры как глобальные? Значит, мы можем использовать их в любом тестовом классе в рамках проекта?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
1 110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не совсем уверен, понимаю ли я ваш вопрос, но вы можете определить параметры на уровне набора (для каждого теста, в примере suite-param) или на уровне теста:

Взято из https://howtodoinjava.com/testng/testng-test-parameters-through-testng-xml-and-parameters-annotation/

<suite name = "Parameter test Suite" verbose = "1">
    <!-- This parameter will be passed to every test in this suite -->
    <parameter name = "suite-param" value = "suite level parameter" />
    <test name = "Parameter Test one">
        <classes>
            <class name = "com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name = "prameterTestOne" />
                </methods>
            </class>
        </classes>
    </test>
    <test name = "Parameter Test two">
        <!-- This parameter will be passed this test only -->
        <parameter name = "test-two-param" value = "Test two parameter" />
        <classes>
            <class name = "com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name = "prameterTestTwo" />
                </methods>
            </class>
        </classes>
    </test>
    <test name = "Parameter Test three">
        <!-- Overriding suite level parameter -->
        <parameter name = "suite-param" value = "overiding suite parameter" />
        <!-- Test specific parameter -->
        <parameter name = "test-three-param" value = "test three parameter" />
        <classes>
            <class name = "com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name = "prameterTestThree" />
                </methods>
            </class>
        </classes>
    </test>
</suite>

Вы меня правильно поняли, и это похоже на решение, спасибо!

ArturS 10.09.2018 09:20

Другие вопросы по теме