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

您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
Selenium Webdriver讀取excel進(jìn)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/3/3 17:48:57 ] 推薦標(biāo)簽:Selenium 單元測(cè)試 測(cè)試工具

  近做自動(dòng)化需要從文件讀取數(shù)據(jù)做參數(shù)化,網(wǎng)上發(fā)現(xiàn)一個(gè)不錯(cuò)的解決方案。
  準(zhǔn)備:新建一個(gè)excel文件,文件名為測(cè)試類名,sheet名為測(cè)試方法名
  excel第一行為標(biāo)題,從第二行開(kāi)始為測(cè)試數(shù)據(jù)
  build path:jxl.jar
  code:
1 import java.io.FileInputStream;
2 import java.io.InputStream;
3 import java.util.HashMap;
4 import java.util.Iterator;
5 import java.util.Map;
6
7 import org.testng.Assert;
8
9 import jxl.*;
10
11 /**
12  * Excel放在Data文件夾下</p>
13  * Excel命名方式:測(cè)試類名.xls</p>
14  * Excel的sheet命名方式:測(cè)試方法名</p>
15  * Excel第一行為Map鍵值</p>
16  * 代碼參考鄭鴻志的Blog
17  * {@link www.zhenghongzhi.cn/post/42.html}
18  * @ClassName: ExcelDataProvider
19  * @Description: TODO(讀取Excel數(shù)據(jù))
20  */
21 public class ExcelDataProvider implements Iterator<Object[]> {
22
23     private Workbook book         = null;
24     private Sheet    sheet        = null;
25     private int      rowNum       = 0;
26     private int      currentRowNo = 0;
27     private int      columnNum    = 0;
28     private String[] columnnName;
29
30     public ExcelDataProvider(String classname, String methodname) {
31
32         try {
33
34             int dotNum = classname.indexOf(".");
35
36             if (dotNum > 0) {
37                 classname = classname.substring(classname.lastIndexOf(".") + 1,
38                         classname.length());
39             }
40             //從/data文件夾下讀取以類名命名的excel文件
41             String path = "data/" + classname + ".xls";
42             InputStream inputStream = new FileInputStream(path);
43
44             book = Workbook.getWorkbook(inputStream);
45             //取sheet
46             sheet = book.getSheet(methodname);
47             rowNum = sheet.getRows();
48             Cell[] cell = sheet.getRow(0);
49             columnNum = cell.length;
50             columnnName = new String[cell.length];
51
52             for (int i = 0; i < cell.length; i++) {
53                 columnnName[i] = cell[i].getContents().toString();
54             }
55             this.currentRowNo++;
56
57         } catch (Exception e) {
58             e.printStackTrace();
59             Assert.fail("unable to read Excel data");
60         }
61     }
62
63     public boolean hasNext() {
64
65         if (this.rowNum == 0 || this.currentRowNo >= this.rowNum) {
66
67             try {
68                 book.close();
69             } catch (Exception e) {
70                 e.printStackTrace();
71             }
72             return false;
73         } else {
74             // sheet下一行內(nèi)容為空判定結(jié)束
75             if ((sheet.getRow(currentRowNo))[0].getContents().equals(""))
76                 return false;
77             return true;
78         }
79     }
80
81     public Object[] next() {
82
83         Cell[] c = sheet.getRow(this.currentRowNo);
84         Map<String, String> data = new HashMap<String, String>();
85         // List<String> list = new ArrayList<String>();
86
87         for (int i = 0; i < this.columnNum; i++) {
88
89             String temp = "";
90
91             try {
92                 temp = c[i].getContents().toString();
93             } catch (ArrayIndexOutOfBoundsException ex) {
94                 temp = "";
95             }
96
97             // if(temp != null&& !temp.equals(""))
98             // list.add(temp);
99             data.put(this.columnnName[i], temp);
100         }
101         Object object[] = new Object[1];
102         object[0] = data;
103         this.currentRowNo++;
104         return object;
105     }
106
107     public void remove() {
108         throw new UnsupportedOperationException("remove unsupported.");
109     }
110 }

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 日韩激情影院莉莉 | 成人午夜激情 | 黄色一区二区三区 | 午夜羞羞视频 | 欧美一级精品高清在线观看 | 国产成人欧美视频在线 | 亚洲第一成年网站大全亚洲 | 韩漫画无遮挡羞免费网站 | 在线欧美日韩 | 国产日产综合 | 亚洲欧美国产一区二区三区 | 韩国日本一区二区 | 一个人的视频www片免费 | 韩国久久 | 超级h荡的辣文小说乱bh | 国产精品欧美日韩一区二区 | 国产成人精品男人免费 | 日韩一二三 | 色婷婷激婷婷深爱五月小说 | 欧美三级成人理伦 | 久操视频在线观看免费 | 男女性潮高片无遮挡禁18 | 美女视频黄a视频全免费网站色窝 | 成人毛片高清视频观看 | 一个人的www免费视频 | 一区二区不卡在线观看 | 在线一区视频 | 欧美日韩在线视频观看 | 久久久久久久国产a∨ | 欧美成人观看免费版 | 亚洲黄色一级大片 | 淫品色影院 | 深夜国产| 日本不卡在线视频 | 在线国产播放 | 全免费午夜真人毛片视频 | 欧美一级裸片 | 成人黄色在线免费观看 | 99ri在线精品视频在线播放 | 国产91成人| 欧美激情αv一区二区三区 欧美激情xxxx |