Есть ли способ указать параметры для включенных методов в TestNG suite.xml? - PullRequest
1 голос
/ 11 января 2012

Я пишу файл suite.xml для собственного тестового фрейма, основанного на TestNG. Мой XML-файл выглядит так:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" parallel="methods">
  <test name="NewTest">
  <parameter name="BROWSER" value="Chrome"></parameter>
  <classes>
   <class name="hm.NewTest">
     <methods>
        <include name="test"></include>
        <include name="test2"></include>
        <include name="test3"></include>
        <include name="test4"></include>
     </methods>
   </class>
 </classes>
 </test>
 </suite>

Параметр «БРАУЗЕР» теперь указывается для полного теста. Но мне нужен собственный параметр для каждого из включенных методов. Кто-нибудь знает решение?

Ответы [ 2 ]

1 голос
/ 09 мая 2015

По какой-то причине testng 6.4 и выше больше не поддерживает параметр внутри метода.

Но если вы вернетесь к 6.3, я думаю, это последняя версия, которая поддержала это. У меня та же проблема, и я помню, что раньше она работала в нашей среде, поэтому я начал возвращать одну версию за раз. Почему они вытащили это вне меня.

С 6.3 вы можете сделать:

<methods>
        <include name="test">
          <parameter name="Firefox"/>
        </include>
        <include name="test2">
           <parameter name="Chrome"/>
        </include>
        <include name="test3">...</include>
        <include name="test4">...</include>
</methods>

и где-то с вызовом слушателя

iTestContext.getCurrentXmlTest().getParameters()

Надеюсь, это поможет. Если слишком поздно для вас, может быть, хорошая информация для кого-то еще.

Редактировать: я лгал! Вы все еще можете получить его с последним испытанием;)

iTestResult.getMethod().findMethodParameters(iTestContext.getCurrentXmlTest())
1 голос
/ 26 января 2012

Для этого вместо назначения параметров в xml комплекта тестов вы можете назначать параметры для ваших тестов индивидуально. для этого вам не нужно добавлять каждый параметр в suite.xml.

@Parameters({ "datasource", "jdbcDriver" })
@test
public void sampleTest(String ds, String driver) {
// your test method
}

Надеюсь, это поможет вам 1

http://testng.org/doc/documentation-main.html#parameters

...