2016-07-25 2 views
0

저는 testNG 프레임 워크를 사용하고 있습니다. 나는 매개 변수를 가질 수 있거나없는 테스트를 가지고있다. 는 exemple으로 난 다음 XML 수 :TestNG, 0 또는 xml 파일의 매개 변수 배수

<?xml version="1.0" encoding="UTF-8"?> 
    <suite name="Suite" parallel="tests"> 
    <test name="FlowTest0"> 
     <parameter name="node" value="http://192.168.117.135:5555/wd/hub"/> 
     <parameter name="name" value="nameTest0"/> 
     <parameter name="direction" value="IN"/> 
     <classes> 
      <class name="selenium.test.flow.FlowSaveTest"/> 
     </classes> 
    </test> 
    </suite> 

을 아니면 내가이 일 수 :

<?xml version="1.0" encoding="UTF-8"?> 
    <suite name="Suite" parallel="tests"> 
    <test name="FlowTest0"> 
     <parameter name="node" value="http://192.168.117.135:5555/wd/hub"/> 
     <classes> 
      <class name="selenium.test.flow.FlowSaveTest"/> 
     </classes> 
    </test> 
    </suite> 

또는 매개 변수없이 전혀 또는 더 많이.

@Parameters({"name", "direction"}) 
public void initTest(String name, String direction) { 
    //code of the method 
} 

내가 원하는 것은 내가 XML이 무엇인지 따라 값의 변수 번호를 전달할 수 있어야하는 것입니다 그런 다음 내 테스트 케이스에 난 매개 변수이 방법을 얻을. testNG 매개 변수 주석으로이 작업을 수행 할 수 있습니까?

편집 1 : 나는 C에서의 printf 선언의 선언 같은 것을 기대

, 뭔가 같은 :

@Parameters("node", Something that will get all the paramaters) 
@BeforeTest 
public void initTest(Object ...) { 

} 
+1

기대하시는 것을 보여줄 수 있습니까? – juherr

+0

예 내 질문을 편집합니다 –

답변

2

당신은 ITestContextinject 거기에서 모든 속성을 얻을 수 있습니다 :

@Test 
public void initTest(ITestContext context) { 
    Map<String, String> params = context.getCurrentXmlTest().getAllParameters(); 
    // ... 
} 
+0

initTest도 @BeforeTest 주석을 가지고 실수를 저질렀습니다. 아마도 무언가를 바꿀 것입니다. 제 질문을 편집 할 것입니다. –

+1

'@ BeforeTest'에서도 작동 할 것입니다. – juherr

+0

그러나 매개 변수가 문자열이 아닌 경우에는 어떻게해야합니까? 왜냐하면 전에는 부울뿐 아니라 문자열 인 –

관련 문제