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

您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Jmeter讀取執行Case插入DB生成報表和備份記錄
作者:niuzhigang 發布時間:[ 2017/4/24 11:35:55 ] 推薦標簽:性能測試工具 Jmeter

  有2點說明:讀取csv文件亂碼問題和讀取關閉文件(因為結束后會有備份歷史記錄,因此必須關閉CSV文件)
  亂碼問題解決方案不要用FileReader而是InputStreamReader可以指定讀取編碼
public CsvUtil(String fileName) throws Exception {
this.fileName = fileName;
//FileReader可能會根據不同的環境造成從CSV讀取時亂碼
br = new BufferedReader(new FileReader(fileName));
//解決亂碼
br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"utf-8"));
String stemp;
while ((stemp = br.readLine()) != null) {
list.add(stemp);
}
//關閉csv文件
br.close();
}
  代碼開發基本完成,差數據備份了,數據備份的代碼如下:
package excFile;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class renFile {
public static boolean renameFile(String path,String oldname,String newname){
File file=new File(path+oldname);
if(file.exists())
{
file.renameTo(new File(path+newname));
return true;
}
return false;
}
public static String currTime(){
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//設置日期格式
String now = df.format(new Date());// new Date()為獲取當前系統時間
return now;
}
public static void main(String[] args) {
String path = "d:\";
String oldname = "excResult.csv";
String newname = "excResult"+renFile.currTime()+".csv";
System.out.println("獲取當前時間:"+renFile.currTime());
System.out.println("獲取新的名稱:"+renFile.renameFile(path, oldname, newname));
}
}
  恭喜,代碼開發基本結束,那么如何被jmeter引用?
  把開發的代碼export為jar包
  如導出jar包名為excDB.jar
  由于插入DB要有jdbc依賴包。(mysql-jdbc.jar)
  導出后,把2個jar放到jmeter的lib/ext目錄下,重啟jmeter 即可引用。
  如下:在jmeter的beanshell(取樣器)工具中寫入調用函數腳本即可
import readDB.*;
import excFile.*;
String excVersion = "9.1.2";
String excTerminal = "App";
String path = "D:\excResult.csv";
String primaryTitle = CsvUtil.getPryKey(path);
log.info("獲取接口名稱:"+primaryTitle);
String excRate = CsvUtil.getExcRate(path);
log.info("獲取單個接口用例通過率:"+excRate);
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
//log.info("獲取行數:"+rowNum);
int caseTotalNum = rowNum -1;
log.info("獲取用例總數:"+caseTotalNum);
int caseSucNum = CsvUtil.getSucNum(path);
log.info("獲取用例通過數量:"+caseSucNum);
for(int i=1;i<rowNum;i++){
String secordaryTitle = util.getString(i, 2);
log.info("獲取用例名稱:"+secordaryTitle);
String excResult = util.getString(i, 7);
log.info("獲取用例執行結果:"+excResult);
//執行insertDB---詳細數據
CsvUtil.insertDetailDB(primaryTitle, secordaryTitle, excVersion, excTerminal, excResult);
}
////執行insertDB---統計數據
CsvUtil.insertTotalDB(primaryTitle, excVersion, excTerminal, excRate, caseTotalNum, caseSucNum);
String dir = "d:\";
String oldname = "excResult.csv";
log.info("獲取新文件名稱:"+renFile.currTime());
String newname = "excResult"+renFile.currTime()+".csv";
log.info("獲取新文件名稱:"+newname);
renFile.renameFile(dir, oldname, newname);

  導入DB的jmx文件腳本有幾個變量強調下:
  ①excVersion---版本號(如9.1.0)
  ②excTerminal---終端類型(如App、網站、M站)
  ③path---csv文件路徑(如d:excResult.csv)
  ④dir---csv在哪個目錄下(如d:)
  ⑤oldname---csv文件名(如excResult.csv)
  其中import這2個包名要準確,是你在開發這些class文件時創建的包名
  import readDB.*;
  import excFile.*;
  如:

  這樣會把存入DB的jmx文件和用例的jmx文件放在一個文件夾下執行,執行循序會根據jmx文件修改時間的正序來執行,因此一定要確保執行case的jmx文件時間要在導入DB的jmx文件前面。
  當然也可以把所有按照接口生成的的jmx文件和分別導入DB的jmx文件放在一個文件夾下,但必須渠道入到的CSV文件名不相同,每個對應讀取CSV導入DB的jmx文件的指向路徑也不同。
  基本完成,執行結果如上面的導入DB的數據一樣。
  這樣整個開發到此結束!!!
  還有是接口名稱和用例名稱命名規范的問題!
  有2個要求:
  第一個要求:由于代碼做了接口名稱獲取的規則,是獲取第一條接口case名稱但不是單純的獲取,是截斷了前面2個字符,后面所有字符作為接口名稱。
  因此要求case輸出者在輸出接口自動化時第一條case名稱命名為“校驗XXXX接口”!!這樣根據截斷規存入DB的接口名稱為“XXXX接口”,才符合接口名稱命名規范。
  第二個要求:jmx文件,一個接口自動化場景輸出一個jmx文件,不要在此jmx文件上輸出其它的接口case,在這個接口的基礎上輸出不同場景的case。
  否則會把不同接口統計到一個接口中去!
  備份的歷史記錄文件如下:(原文件名+時間戳)。
  為什么要renName?
  一方面:也是renName的根本原因,因為每次執行的CSV文件,如果在執行接口自動化的jmx文件前不刪除,會把本次的執行結果追加到原csv文件!!!
  另一方面:保存歷史記錄。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲欧美日韩伦中文 | 亚洲精品国产手机 | 欧美一区日韩精品 | 高清欧美一区二区免费影视 | 最近在线观看免费完整视频 | 午夜视频成人 | 免费丝袜足控网站 | 欧美在线一二三 | 毛片a区| 精品看片| 高清不卡日本v在线二区 | 国产综合成人观看在线 | 日韩欧美一区二区三区中文精品 | 亚洲女同志videos | 中文字幕一区在线播放 | 久久精品5 | 91桃色污 | 国产高清精品久久久久久久 | 亚洲国产成人久久午夜 | 国产在线一区在线视频 | 欧美国产亚洲精品高清不卡 | 草草视频免费看 | 乱理最新乱理片中文 | 久久久午夜影院 | 久久天天躁夜夜躁狠狠躁2020 | 亚洲人成网男女大片在线播放 | 中文字幕一区二区区免 | 国产欧美精品一区二区色综合 | 动漫无遮羞视频免费网站 | 中文字幕在线观看一区二区三区 | 国产成人精品久久免费动漫 | 成人三级在线观看 | 免费a一毛片 | 亚洲欧美中文字幕高清在线一 | 国产人成精品综合欧美成人 | 在线观看日本一区 | 99久久中文字幕伊人情人 | 国产区一二三四区2021 | 亚洲欧美在线精品一区二区 | 欧美一级美片在线观看免费 | jizzjizz中国护士第一次 |