2012-07-09 2 views
0

TestNG를 사용하여 자동화 된 테스트를 실행하고 있습니다. TestNG를 선택한 이유는 변수 입력을 테스트 메소드 예제로 보낼 수 있기 때문입니다. public void testXX (String userId)이며 각 테스트마다 userId가 변경 될 수 있습니다.testng 다른 사용자 지정

아래 코드는 테스트를 실행하는 데 사용할 수있는 세 가지 사용자 아이디입니다. 그래서 똑같은 테스트가 3 명의 다른 사용자 각각에 대해 3 번 실행됩니다. 이 기능을 사용하면 각기 다른 시나리오에서 여러 테스트를 수행 할 수 있습니다.

// All valid Pricing Leads 
@DataProvider(name = "userIds") 
public Object[][] createPricingLeadUsersParameters() { 
    return new Object[][] { 
     { "TestUser001" }, 
     { "TestUser002" }, 
     { "TestUser003" } 
    }; 
} 

@Test(dataProvider = "userIds") 
public void createGroup(String userIds) { 
    ............ 
} 

내가 지금 데 문제는 특정 조건에서 나는 하나의 userId를 실패하게됩니다 다른 내 시험 전부를 사용하거나 가질 수있다. 나는 똑같은 테스트를 계속하고 싶지만 위의 세 가지가 아닌 userId 만 전달하면된다. 거기에 명령 줄에서이 변수를 만들 수 있도록 TestNG를 구성하는 방법이 있습니다. 그래서 나는 정의 된 세 가지를 사용할 것입니다.하지만 다른 조건 하에서는 세 가지 또는 새로운 userId 중 하나 일뿐입니다.

답변

0

확실한 방법이 있습니다. TestNG를 실행할 때 시스템 속성을 전달하는 것은 어떻습니까?

java -Dfoo=bar org.testng.TestNG... 

다음 데이터 공급자 System.getProperty()foo의 값을 테스트하고 그에 따라 반환 무엇을 조정할 수 있습니다.

+0

하나의 구성을 기반으로 userIds를 설정하는 방법이 필요합니다. TestNG가 프로그래밍 방식으로 이것을 수행하는 것과 비교하여 TestNG.xml을 제어 할 수있는 방법이 있기를 희망했습니다. 의견을 보내 주셔서 감사합니다! –

관련 문제