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

您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Jmeter導入DB數據再再優化
作者:niuzhigang 發布時間:[ 2017/5/4 14:49:13 ] 推薦標簽:性能測試工具 Jmeter

  前言:分享和規定命名規范后,各位測試人員一致認為這樣jmeter的jmx文件限制太死,主要體現六方面:
  第一:規定了一個jmx文件只能錄入一個接口,這樣會導致jmx文件很多
  第二:導入DB的jmx文件每輪迭代都需要更換版本號,會帶來額外的工作
  第三:jmx文件嚴格要求了接口執行循序,會導致大家寫好的用例會重新輸出
  第四:importDB的jmx文件與接口的jmx文件對應也會很多,不能一個importDB的jmx完成所有接口的工作
  第五:刪除了定義產品類型和頁面類型字段,增加了接口類型字段
  第六:測試反饋終端類型、版本號、接口類型不需要通過importDB 的jmx文件傳入而是通過http請求名稱按照一定規則去獲取
  因此針對上面四項不足,做了一些優化。
  技術方面方面改變主要體現在:
  第一:把終端類型、版本號、接口類型、接口名稱、用例數目、用例成功數目、通過率這些字段,之前只有部分(接口類型、接口名稱)是list結構,現在均改為list結構。
  第二:java set操作的sql只有詳細表,而統計表是通過sql操作的(通過select詳細表計算出來統計表每個字段值insert和update的)
  第三:聯合索引增加了一個字段creatTime,因為測試反應按照之前聯合索引只能保留本輪迭代的數據,有之前的按照迭代保留數據,目前是按照當天保留數據(因此有之前精確到秒改為精確到日)
  第四:SQL的各個字段獲取規則進行了限制
  jmeter線程請求命名規則:
  由于代碼做了字段獲取的規則,循環到”終端、版本、類型、校驗、接口”關鍵字時認為是本jmx文件需校驗的接口和用例

  終端類型獲取規則:
  由于代碼做了終端類型獲取的規則,截取”終端”和“版本”中間的字符作為終端類型

  版本號獲取規則:
  由于代碼做了版本號獲取的規則,截取”終端”和“版本”中間的字符作為版本號

  接口類型獲取規則:
  由于代碼做了接口類型獲取的規則,截取”終端”和“版本”中間的字符作為接口類型

  接口名稱獲取規則:
  由于代碼做了接口名稱獲取的規則,截取”校驗”和“接口”中間的字符作為接口名稱

  用例名稱獲取規則:
  由于代碼做了用例名稱獲取的規則,截取”接口”后面的字符作為接口名稱

  具體SQL key值的取值方法如下:
//獲取符合規則的終端類型
public static ArrayList<String>  getTerminalType(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
String caseAllName = null;
String TerminalType = null;
ArrayList<String> terminalTypeArray = new ArrayList<String>();
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true
&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true
&&caseAllName.contains("接口")==true){
TerminalType = caseAllName.substring(caseAllName.indexOf("終端")+2,caseAllName.indexOf("版本"));
terminalTypeArray.add(TerminalType);
}
}
return terminalTypeArray;
}
//獲取符合規則的版本號
public static ArrayList<String>  getVersion(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
String caseAllName = null;
String version = null;
ArrayList<String> excVersionArray = new ArrayList<String>();
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true&&caseAllName.contains("接口")==true){
version = caseAllName.substring(caseAllName.indexOf("版本")+2,caseAllName.indexOf("類型"));
excVersionArray.add(version);
}
}
return excVersionArray;
}
//獲取符合規則的用例類型
public static ArrayList<String>  getInterfaceType(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
String caseAllName = null;
String interfaceNameType = null;
ArrayList<String> interfaceTypeArray = new ArrayList<String>();
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true&&caseAllName.contains("接口")==true){
interfaceNameType = caseAllName.substring(caseAllName.indexOf("類型")+2,caseAllName.indexOf("校驗"));
interfaceTypeArray.add(interfaceNameType);
}
}
//                System.out.println("獲取接口名稱:"+interfaceName);
return interfaceTypeArray;
}
//獲取符合規則的接口名稱
public static ArrayList<String>  getInterfaceName(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
String caseAllName = null;
String interfaceName = null;
ArrayList<String> interfaceNameArray = new ArrayList<String>();
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true&&caseAllName.contains("接口")==true){
interfaceName = caseAllName.substring(caseAllName.indexOf("校驗")+2,caseAllName.indexOf("接口"));
interfaceNameArray.add(interfaceName);
//                     System.out.println("獲取接口名稱:"+interfaceName);
}
}
//
return interfaceNameArray;
}
//獲取符合規則的每條用例執行名稱
public static ArrayList<String> getCaseName(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
String caseAllName = null;
String caseName = null;
ArrayList<String> caseNameArray = new ArrayList<String>();
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true&&caseAllName.contains("接口")==true){
caseName = caseAllName.substring(caseAllName.indexOf("接口")+2,caseAllName.length());
//                 System.out.println("用例名稱為:"+caseName);
caseNameArray.add(caseName);
//                 System.out.println(caseNameArray);
}
}
return caseNameArray;
}
//獲取符合規則的每條用例執行結果
public static ArrayList<String> getcaseIsPass(String path) throws Exception{
CsvUtil util = new CsvUtil(path);
int rowNum = util.getRowNum();
ArrayList<String> caseResultArray = new ArrayList<String>();
//         System.out.println(CaseNum);
String caseAllName = null;
for(int i=1;i<rowNum;i++){
caseAllName = util.getString(i, 2);
if(caseAllName.contains("終端")&&caseAllName.contains("版本")==true&&caseAllName.contains("類型")&&caseAllName.contains("校驗")==true&&caseAllName.contains("接口")==true){
String result = util.getString(i, 7);
caseResultArray.add(result);
}
}
return caseResultArray;
}

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: www.天天色.com | 日批视频在线免费观看 | 1717she精品国产真正免费 | 国产高清a毛片在线看 | 在线观看亚洲免费视频 | 免费h片 | 国产精品免费看久久久久 | 久久综合色区 | 欧美视频在线一区二区三区 | 亚洲成年看片在线观看男男 | 日日夜夜操天天干 | 日本韩国一区二区 | 免费国产精品视频 | 第四色亚洲色图 | 国产精品久久成人影院 | 天天摸天天做天天爽水多 | 一级毛片特级毛片国产 | 目韩一区二区三区系列片丶 | 亚洲va欧美va国产va天堂 | 久久狠狠色狠狠色综合 | 草草视频在线 | 男女视频免费观看 | 国产精品国产三级在线专区 | 亚欧精品一区二区三区四区 | 丝袜在线视频 | 日本三级香港三级人妇 m | 老司机午夜精品视频播放 | 黄色a一片 | 一机黄色片 | 在线成人国产 | 日韩福利在线 | 欧美日韩有码 | 国内精品在线播放 | 最近的2019中文字幕国语hd | 小明www永久免费播放平台 | 亚洲人人干| 日韩成人在线免费视频 | 高清色惰www日本午夜 | 国产性大片黄在线观看在线放 | 一级爱爱片一级毛片-一毛 一级α一级α片免费观看网站 | 黄色录像一级毛片 |