2012-06-14 4 views
1

엑셀 시트에서 개체 이름과 해당 값을 전달할 하이브리드 프레임 워크를 만들려고합니다. 내가 사용할 수 있도록 텍스트 상자 나 목록 상자 등과 같은 유형을 포함합니다 : 여기testNG 및 데이터 공급자를 사용하여 데이터 및 개체 이름을 모두 매개 변수화

FieldName Type Value1 Value2 Value3 
FName  Edit John  Smith Carla  
LName  Edit Fellow Carson Black  
Submit  Link Click Click Click  
  • 필드 이름을 수행 할 것입니다 : 객체에게
  • 유형을 식별는 XPath 또는 ID의를 포함 그에 따라 객체의 각 TYPE을 처리하는 IF 루프.
  • 값 1..3 .. : 테스트 (개체)를 실행하고 싶은 다른 값.

다른 데이터 값을 사용하는 동안 이상적으로 첫 번째 2 열을 유지해야하기 때문에 데이터 공급자를 사용하여 어떻게해야합니까? 또한 dataproviders는 배열 행을 현명하게 읽는 것 같습니다. 미안 기본 질문 인 경우, 나는 testNG를 처음 사용하며 훌륭한 것들에 대해 들었고 그것을 확인하고 싶었습니다.

답변

0

데이터 제공 업체는 사용자에게 적합한 데이터를 반환하므로이 스프레드 시트를 테스트 방법에서 허용 할 개체로 변환하는 방법에 대해 생각하면됩니다. 예를 들어 테스트가 열당 하나의 매개 변수를 사용하도록하려면 :

@Test(dataProvider = "dp") 
public void f(String fieldName, String type, String value1, String value2, String value3) { 
    // test 
} 

@DataProvider 
public Object[][] dp() { 
    // read the spreadsheet 
    return new Object[][] { 
    new Object[] { fieldName, type, value1, value2, value3 }, // row 1 
    new Object[] { fieldName, type, value1, value2, value3 }, // row 2 
    } 
} 
+0

감사합니다. 내가 작동하도록하는 방식은 다음과 같습니다 : @Test (dataProvider = "dp") public void f (String fieldName, String Type, String Value1)'질문에서 위에 언급 한 배열을 기반으로, Fname은 텍스트 상자로 식별되고 John이 입력됩니다. . 데이터 값 1 클릭이 완료된 후 데이터 값 2, 즉 FName - Smith, LName - Carson 및 Submit - Click은 필드 이름이 여전히 Fname, LName 및 Submit 일 때 실행됩니다. 희망이 있습니다. ( – SteelBird

+0

당신은 아마 분명하지만 코멘트에서 코드를 읽는 것이 약간 어렵습니다 :-) 당신의 문제를 testng-users리스트에 이메일로 보낼 수 있습니까? 우리는 토론을 계속할 수 있습니다. –