亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: senima亚洲综合 | 全免费观看a级毛片 | 99久久精品国产一区二区 | 欧美午夜性春猛xxxx | 三级大片在线观看 | 国内精品小视频在线 | 丁香六月狠狠激情综合基地 | 日本一区二区三区久久精品 | 国产欧美精品一区二区色综合 | 九九久久亚洲综合久久久 | 一区二区三区四区在线观看视频 | 欧美亚洲国产视频 | 99re在线观看视频 | 在线亚洲综合美国十次 | 在线视频国产一区 | 日产精品一二三四区国产 | 在线a视频 | 国产精品亚洲第五区在线 | 国产成人lu在线视频 | 天堂网在线www资源网 | 狂野欧美性猛交xxxx | 香蕉99国内自产自拍视频 | 日本哺乳期xxxxhd奶水 | 国产欧美综合在线 | 曰批免费视频播放免费观看网站 | 亚洲欧美一区二区三区国产精品 | 久久97精品久久久久久久不卡 | 精品视频一区二区三区四区 | a毛片全部免费播放 | 日本午夜免费福利视频 | 透明奶罩的邻居三级在线观看 | 美女18黄| 国产一区二区三区欧美精品 | 精品欧美一区二区三区在线观看 | 日批视频在线播放 | 日韩欧美国产三级 | 日本高清va不卡视频在线观看 | 天天躁天天爽 | 日皮视频在线免费观看 | 一级黄色a毛片 | 国产激情视频在线播放 |