자바 + selenium 테스트 프레임 워 크 (테스트 데이터 준비) 버 전 진화 6
9833 단어 자바selenium테스트 프레임 워 크테스트 데이터 준비
테스트 사례 를 추가 할 때 테스트 데이터 와 테스트 프레임 워 크, 그리고 페이지 요 소 를 분리 하 기 를 원 합 니 다.이렇게 하면 유지 하기 편리 하 다.
testng 에서 제공 하 는 DataProvider 주 해 는 테스트 데 이 터 를 집중 적 으로 관리 하 는 데 편리 합 니 다.
DataProvider
public class SearchData {
@DataProvider(name = "searchKey1")
public static Object[][] searchKeys() {
return new Object[][]{
{"apple"},
{" "}
};
}
@DataProvider(name = "searchKey2")
public Object[][] providerMethod(Method method){
Object[][] result = null;
if(method.getName().equals("testSearch1")){
result = new Object[][]{new Object[]{"apple"}};
}else if(method.getName().equals("testSearch2")){
result = new Object[][]{new Object[]{" "}};
}
return result;
}
}
테스트 호출
@Test(dataProvider = "searchKey1", dataProviderClass = SearchData.class)
public void testSearch(String text){
page.SearchText(text);
sleep(1);
System.out.println(driver.getTitle());
Assert.assertTrue(driver.getTitle().contains(text));
System.out.println(page.getCurrentUrl());
}
테스트 데이터 준비 이념
1. 테스트 데 이 터 를 단독 파일 에서 관리 하면 테스트 페이지 가 변 할 때 통일 적 으로 처리 할 수 있 습 니 다.2. 페이지 의 변 화 를 방지 하기 위해 테스트 데 이 터 를 전달 할 때 필드 가 아 닌 클래스 로 전달 합 니 다.
다음 과 같이 고 통 스 럽 고 지루 한 실제 사용 예
만약 에 우리 의 DemandClass 에 변화 가 생 겼 다 면 테스트 용례 를 수정 할 때 필드 를 직접 나열 하 는 것 보다 수정 위 치 를 더 잘 정 하 는 것 이 아 닙 니까?
이렇게 하 는 게 맞 는 지 모 르 겠 어 요. 여러분 이 탐색 해 봐 야 겠 어 요...더 좋 은 관리 방법 이 있다 면 공유 하 세 요...
public class DemandData {
public String title;
public int[] resType;
public String bizType;
public int demandType;
public String feedbackDate;
public String vender;
public final String contract="181315IDC0016";
//--
//
public String mserversName;
//
public String areaDemand ;
//
public String serversNum;
//
public String stability;
//
public String museTimeDesc;
//
public String mothers;
//--
//
public String netbandWidth;
//
public String bandWidthDesc;
//
public String netWorkStability;
//
public String netWorkInterface;
//
public String moduleType;
//
public String nothers;
//
public String nuseTimeDesc;
//--
//
public String transmissionType;
//
public String demandNum;
//
public String circuitryUnit;
//A
public String a_ip_address;
//B
public String b_ip_address;
//
public String necessaryCondition;
//
public String notNecessaryCondition;
//
public String tuseTimeDesc;
//
public String tothers;
public String dataInfo;
@DataProvider(name = "machine")
public static Object[][] machine() {
DemandData demand = new DemandData();
demand.dataInfo=" - ";
demand.title = " - ";
demand.resType = new int[1];
demand.resType[0]=0;
demand.bizType= "IDC";
demand.demandType = 0;
demand.feedbackDate = "2013-07-01";
demand.vender=" ";
demand.mserversName = " ";
demand.areaDemand =" ";
demand.serversNum = "100";
demand.museTimeDesc =" ";
DemandData demand1 = new DemandData();
demand1.dataInfo=" - ";
demand1.title = " - ";
demand1.resType = new int[1];
demand1.resType[0]=0;
demand1.bizType= "CDN";
demand1.demandType = 1;
demand1.feedbackDate = "2013-07-01";
demand1.vender=" ";
demand1.mserversName = " ";
demand1.areaDemand =" ";
demand1.serversNum = "100";
demand1.stability = "99.99";
demand1.museTimeDesc =" ";
demand1.mothers=" ";
DemandData demand2 = new DemandData();
demand2.dataInfo=" - ";
demand2.title = " - ";
demand2.resType = new int[1];
demand2.resType[0]=0;
demand2.bizType= "P2SP";
demand2.demandType = 2;
demand2.feedbackDate = "2013-07-01";
demand2.vender=" ";
demand2.mserversName = " ";
demand2.areaDemand =" ";
demand2.serversNum = "100";
demand2.stability = "99.99";
demand2.museTimeDesc =" ";
demand2.mothers=" ";
return new Object[][]{
{demand},
{demand1},
{demand2},
};
}
@DataProvider(name = "network")
public static Object[][] network() {
DemandData demand = new DemandData();
demand.dataInfo="network- ";
demand.title = "network- ";
demand.resType = new int[1];
demand.resType[0]=1;
demand.bizType= "IDC";
demand.demandType = 0;
demand.feedbackDate = "2013-07-01";
demand.vender=" ";
demand.netbandWidth ="1234";
demand.nuseTimeDesc=" ";
DemandData demand1 = new DemandData();
demand1.dataInfo="network- ";
demand1.title = "network- ";
demand1.resType = new int[1];
demand1.resType[0]=1;
demand1.bizType= "IDC";
demand1.demandType = 1;
demand1.feedbackDate = "2013-07-01";
demand1.vender=" ";
demand1.netbandWidth ="1234";
demand1.bandWidthDesc=" ";
demand1.netWorkStability="99.99";
demand1.netWorkInterface=" ";
demand1.moduleType=" ";
demand1.nothers=" ";
demand1.nuseTimeDesc=" ";
return new Object[][]{
{demand},
{demand1},
};
}
@DataProvider(name = "transInfo")
public static Object[][] transInfo() {
DemandData demand = new DemandData();
demand.dataInfo="transInfo- ";
demand.title = " ";
demand.resType = new int[1];
demand.resType[0]=2;
demand.bizType= "IDC";
demand.demandType = 0;
demand.feedbackDate = "2013-07-01";
demand.vender=" ";
demand.transmissionType = " ";
demand.demandNum="1234";
//demand.circuitryUnit;
demand.a_ip_address=" A ";
demand.b_ip_address=" B ";
demand.necessaryCondition=" ";
demand.tuseTimeDesc=" ";
DemandData demand1 = new DemandData();
demand1.dataInfo="transInfo- ";
demand1.title = " ";
demand1.resType = new int[1];
demand1.resType[0]=2;
demand1.bizType= "CDN";
demand1.demandType = 1;
demand1.feedbackDate = "2013-07-01";
demand1.vender=" ";
demand1.transmissionType = " ";
demand1.demandNum="1234";
demand1.circuitryUnit="G";
demand1.a_ip_address=" A ";
demand1.b_ip_address=" B ";
demand1.necessaryCondition=" ";
demand1.notNecessaryCondition=" ";
demand1.tuseTimeDesc=" ";
demand1.tothers=" ";
return new Object[][]{
{demand},
{demand1},
};
}
@DataProvider(name = "demand")
public static Object[][] demand() {
DemandData demand = new DemandData();
demand.dataInfo=" ";
demand.title = " ";
demand.resType = new int[3];
demand.resType[0]=0;
demand.resType[1]=1;
demand.resType[2]=2;
demand.bizType= "P2SP";
demand.demandType = 2;
demand.feedbackDate = "2013-07-01";
demand.vender=" ";
demand.mserversName = " ";
demand.areaDemand =" ";
demand.serversNum = "100";
demand.stability = "99.99";
demand.museTimeDesc =" ";
demand.mothers=" ";
demand.netbandWidth ="1234";
demand.bandWidthDesc=" ";
demand.netWorkStability="99.99";
demand.netWorkInterface=" ";
demand.moduleType=" ";
demand.nothers=" ";
demand.nuseTimeDesc=" ";
demand.transmissionType = " ";
demand.demandNum="1234";
demand.circuitryUnit="G";
demand.a_ip_address=" A ";
demand.b_ip_address=" B ";
demand.necessaryCondition=" ";
demand.notNecessaryCondition=" ";
demand.tuseTimeDesc=" ";
demand.tothers=" ";
return new Object[][]{
{demand},
};
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.