亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestNG+HttpClient+Excel數據驅動測試
作者:Emma_mmmm 發布時間:[ 2016/10/26 11:43:45 ] 推薦標簽:單元測試工具 TestNG

  數據驅動測試
  數據驅動測試的核心是:測試數據與測試腳本分離,實現測試腳本參數化,提高測試腳本的可重用性。在自動化功能測試中如果靈活使用數據源與測試腳本,便能輕松創建與運行成百上千個測試用例。自動化測試框架必須要有與電子表格、文本文件、數據庫集成的能力。
  TestNG
  TestNG是受JUnit和NUnit測試框架的啟發而設計的,但引其中入一些新的功能,使它更強大和更容易使用。(JUnit和NUnit我沒用過,不做評價)
  Apache POI
  Apache POI項目的使命是開發和維護各種基于Office Open XML 標準(OOXML)和微軟文檔格式的Java api,使用Apache POI,可以方便讀寫微軟EXCEL、word、ppt等文檔。
  怎么做:
  第一步:工具準備
  第二步:創建一個登錄接口測試用例
  第三步:用Excel創建測試數據
  第四步:使用Apache POI打開與讀取Excel數據
  第五步:創建TestNg測試用例并使用Data Provider從Excel讀取數據
  第六步:根據測試用例名稱運行測試
  第一步:工具準備
  1.OS:win10 家庭中文版
  2.JDK:jdk-8u66-windows-x64.exe
  3.Eclipse:eclipse-inst-win64.exe
  4.TestNG插件
  5.HttpClient:httpcomponents-client-4.5.2-bin.zip
  6.Apache POI:poi-bin-3.14.zip
  第二步:創建一個查詢接口測試用例
  1.創建一個TestNG類:DataProviderTest
  2.引用注釋Dataprovider,這個方法會返回對象數組
  3.準備兩條數據,一條url,一條POST的json參數
  4.在@Test下寫一個查詢測試用例
package testData;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class DataProviderTest {
@DataProvider(name="Authentication")
public static Object[][] credentials(){
String p1="http://192.168.1.55:8182/ebe/api/query_server/v1/query";
String pd="{'sqlText':'select * from ts','pageSize':'100','pageNum':'1'}";
return new Object[][] {{p1,pd}};
}
@Test(dataProvider="Authentication")
public void QuickStart(String p1,String pd) throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpPost httpPost = new HttpPost(p1);
JSONObject jsonParam=new JSONObject(pd);
StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
httpPost.setEntity(entity);
CloseableHttpResponse response2 = httpclient.execute(httpPost);
try {
System.out.println(response2.getStatusLine());
HttpEntity entity2 = response2.getEntity();
System.out.println("Response content: " + EntityUtils.toString(entity2));
// do something useful with the response body
// and ensure it is fully consumed
EntityUtils.consume(entity2);
} finally {
response2.close();
}
} finally {
httpclient.close();
}
}
}
  第三步:用Excel創建測試數據
  1.在該項目下新建一個testdata.xlxs文件,并寫入內容


  
測試數據.png

  第四步:使用Apache POI打開與讀取Excel數據
  1.我們需要從Excel中讀取測試數據,所以這里是用Apache POI對Excel進行操作。
package testData;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtils {
private static XSSFSheet ExcelWSheet;
private static XSSFWorkbook ExcelWBook;
private static XSSFCell Cell;
private static XSSFRow Row;
public static Object[][] getTableArray(String FilePath, String SheetName) throws Exception {
String[][] tabArray = null;
try {
FileInputStream ExcelFile = new FileInputStream(FilePath);
// Access the required test data sheet
ExcelWBook = new XSSFWorkbook(ExcelFile);
ExcelWSheet = ExcelWBook.getSheet(SheetName);
int startRow = 1;
int startCol = 1;
int ci,cj;
int totalRows = ExcelWSheet.getLastRowNum();
System.out.println(totalRows);
// you can write a function as well to get Column count
int totalCols = 2;
System.out.println(totalCols);
tabArray=new String[totalRows][totalCols];
ci=0;
for (int i=startRow;i<=totalRows;i++, ci++) {
cj=0;
for (int j=startCol;j<=totalCols;j++, cj++){
tabArray[ci][cj]=getCellData(i,j);
System.out.println(tabArray[ci][cj]);
}
}
}
catch (FileNotFoundException e){
System.out.println("Could not read the Excel sheet");
e.printStackTrace();
}
catch (IOException e){
System.out.println("Could not read the Excel sheet");
e.printStackTrace();
}
return(tabArray);
}
public static String getCellData(int RowNum, int ColNum) throws Exception {
try{
Cell = ExcelWSheet.getRow(RowNum).getCell(ColNum);
int dataType = Cell.getCellType();
if  (dataType == 3) {
return "";
}
else{
String CellData = Cell.getStringCellValue();
return CellData;
}
}
catch (Exception e){
System.out.println(e.getMessage());
throw (e);
}
}
}

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲午夜在线观看 | 日韩精品一区二区三区中文版 | 夜色福利视频 | 激情欧美一区二区三区 | 九九九在线视频 | 欧美成人做性视频在线播放 | 国产激情视频一区二区三区 | 日b在线观看 | 欧美久久综合九色综合 | a级在线免费 | 黄色毛片黄色毛片 | 免费高清a级毛片在线播放 免费高清欧美一区二区视频 | 免费看一级黄色录像 | 一级黄色大片免费观看 | 日本高清一本二本三本如色坊 | 国产在线拍揄自揄视精品不卡 | 激情综合亚洲欧美日韩 | 免费午夜在线视频 | 欧美国产91| 黄色国产免费观看 | 人人干天天干 | 亚洲综合欧美日韩 | 岛国毛片一级一级特级毛片 | 丰满肥胖大码中年熟妇毛片 | 免费大黄网站在线观 | 日本欧美强乱视频在线 | 色吧在线视频在线观看 | 精品一区二区在线欧美日韩 | 亚洲黄色激情视频 | 午夜爱爱小视频 | 日b在线观看 | 日本中文在线播放 | 黄视频网站免费观看 | 日韩一级片免费看 | 亚洲综合小视频 | 色天天综合 | 久久久久久网 | 18成禁人视频免费网站 | 天天爽夜夜爽人人爽 | 国产午夜久久精品 | 一级毛片高清大全免费观看 |