數(shù)據(jù)和腳本分離之結(jié)合excel表格和DataProvider

Properties文件在編寫的時(shí)候沒編寫一個(gè)值的都要寫一次key,這個(gè)可以利用excel表格來解決岳颇。
1.在工程目錄下創(chuàng)建一個(gè)excel的表格,填寫數(shù)據(jù)
2.創(chuàng)建excel類薪夕,構(gòu)建一個(gè)返回值是Object[][]的方法,讀取excel表格中的數(shù)據(jù)

public class excel{
    
       public static Object[][] readFromExcel_o(String dataFile,String sheetName,int rowNum) throws IOException {

        ArrayList<Object> list = new ArrayList<Object>();

        Object[][] data = null;

        //創(chuàng)建workbook
        File file = new File(dataFile);
        try {
            workbook = new HSSFWorkbook(new FileInputStream(file));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 讀取excel數(shù)據(jù)
        // 獲得指定的excel表
        HSSFSheet sheet = workbook.getSheet(sheetName);
        // 獲取表格的總行數(shù)
        int rowCount = sheet.getLastRowNum() + 1;
        // 獲取表頭的列數(shù)
        int columnCount = sheet.getRow(0).getLastCellNum();


//        將表格中的 值傳到一個(gè)list中
        if(sheet!=null){
            for(int i=1;i<=rowCount-1;i++){
                for(int j=0;j<columnCount;j++){
                    HSSFRow row = sheet.getRow(i);
                    String concent = row.getCell(j).toString();
                    list.add(concent);
                }
            }
        }

        if (rowNum<=0||rowNum>=rowCount){
            data = new Object[rowCount-1][columnCount] ;
            int k=-1;
            for (int i=0;i<rowCount-1;i++){
                for (int j=0;j<columnCount;j++){
                    if (k<list.size()){
                        k++;
                    }
                    String concent = list.get(k).toString();
                    data[i][j]=list.get(k);
                }
            }
        }else {
            int k=-1;
            data = new Object[rowNum][columnCount];
            for (int i=0;i<rowNum-1;i++){
                for (int j=0;j<columnCount-1;j++){
                    if (k<list.size()){
                        data[i][j]=list.get(k);
                    }
                }
            }
        }
        workbook.close();
        return data;
    }

}

3.DataProvider中調(diào)用readFromExcel_o方法讀取excel的值并返回值給DataProvider

public class DataPro {

//    成功登陸的用戶名密碼
    @DataProvider(name = "loginSuccess")
    public static Object[][] data() throws IOException {
        Object[][] data;
        String text = System.getProperty("user.dir");
        String file = text + "/taskdata_excel/danshang.xls";
        data = ExcelUtil.readFromExcel_o(file, "sheet1", 3);
        return data;
    }
}

4.創(chuàng)建測(cè)試類柔吼,利用DataProvider傳入的值執(zhí)行腳本

public class Login_Test {
    WebDriver driver;

    @Test(dataProvider = "loginSuccess",alwaysRun = true, dataProviderClass = DataPro.class)
    public void login(String account,String password) {
        driver = SeleniumDriver.openBrowser("firefox","http://www.epwk.us/");
        Action.click(LoginPage.loginButton);
//        輸入賬號(hào)密碼登陸
        Action.sendkeys(LoginPage.account, account);
        Action.sendkeys(LoginPage.password, password);
        Action.click(LoginPage.submintButton);

    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末溪厘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子披粟,更是在濱河造成了極大的恐慌咒锻,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件守屉,死亡現(xiàn)場(chǎng)離奇詭異惑艇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拇泛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門滨巴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俺叭,你說我怎么就攤上這事恭取。” “怎么了绪颖?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵秽荤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我柠横,道長(zhǎng)窃款,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任牍氛,我火速辦了婚禮晨继,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搬俊。我一直安慰自己紊扬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布唉擂。 她就那樣靜靜地躺著餐屎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玩祟。 梳的紋絲不亂的頭發(fā)上腹缩,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音空扎,去河邊找鬼藏鹊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛转锈,可吹牛的內(nèi)容都是我干的盘寡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼撮慨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼竿痰!你這毒婦竟也來了脆粥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤影涉,失蹤者是張志新(化名)和其女友劉穎冠绢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體常潮,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弟胀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了喊式。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孵户。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖岔留,靈堂內(nèi)的尸體忽然破棺而出夏哭,到底是詐尸還是另有隱情,我是刑警寧澤献联,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布竖配,位于F島的核電站,受9級(jí)特大地震影響里逆,放射性物質(zhì)發(fā)生泄漏进胯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一原押、第九天 我趴在偏房一處隱蔽的房頂上張望胁镐。 院中可真熱鬧,春花似錦诸衔、人聲如沸盯漂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽就缆。三九已至,卻和暖如春谒亦,著一層夾襖步出監(jiān)牢的瞬間竭宰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工诊霹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羞延,地道東北人渣淳。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓脾还,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親入愧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鄙漏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理嗤谚,服務(wù)發(fā)現(xiàn),斷路器怔蚌,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,810評(píng)論 6 342
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,967評(píng)論 6 13
  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis 巩步? MyBatis 是支持定制化 SQL、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,520評(píng)論 0 4
  • 分開睡的理由只有一個(gè)桦踊,但睡在一起的理由卻有千萬種椅野。 1 在某個(gè)品牌的口紅紅遍天的時(shí)候,西西收到了她人生中的第一只口...
    二璐閱讀 1,167評(píng)論 8 40