+ 首页>>技能>>内容

技能Selenium专题—数据驱动实现138次围观

我们在页面的测试中,会发现很多输入框的测试,这些输入框中我们需要各种不同类型的数据来测试程序是否能正确处理,因此会涉及到一个“参数化”的过程,本文简单介绍Selenium中如何利用Excel实现“参数化“

1、使用的依赖包

我们可以使用poi包或者jxl包来操作Excel对象,本文使用jxl包介绍
百度:jxl.jar便能搜索到相关包并下载
注:jxl包只能支持excel2003
将该包引入项目中

2、操作Excel

程序清单1-生成Excel文件:

package com.test;

// 生成Excel的类 
import  java.io.File;

import  jxl.Workbook;
import  jxl.write.Label;
import  jxl.write.WritableSheet;
import  jxl.write.WritableWorkbook;

public class CreateExcel{
    public static void main(String args[]){
    	
   }
}

class Create_Excel{
    public void createexcel(){
	try{
            //  打开文件 
            WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
            //  生成名为“第一页”的工作表,参数0表示这是第一页 
            WritableSheet sheet = book.createSheet("第一页",0);
            //  在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
            //  以及单元格内容为test 
            Label label1 = new  Label(0,0,"test");
            Label label2 = new  Label(1,1,"test");

            //  将定义好的单元格添加到工作表中 
            sheet.addCell(label1);
            sheet.addCell(label2);

           /* 
            * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为555
            */ 
           jxl.write.Number number = new jxl.write.Number(1,0,555);
           sheet.addCell(number);

           //  写入数据并关闭文件 
           book.write();
           book.close();

       }catch(Exception e){
           System.out.println(e);
       }
    }
}

程序清单2-读取Excel文件:

package com.Test.function;

// 读取Excel的类 
import  java.io.File;
import  jxl.Cell;
import  jxl.Sheet;
import  jxl.Workbook;

public class ReadExcel{
    //申明一些基础变量和对象
    static String result;
    static Workbook book;
    static Sheet sheet;
	
    //test
    public static void main(String args[]){
    	//readExcel(0,1,0);
    	excelNum(0);
    }
    
    
    /*
     * 获取某个单元格的内容
     * 参数1:第几个工作表
     * 参数2:第几列
     * 参数3:第几行
     * 参数都从0开始
     * 返回值:当前单元格的数据
     */
    public static String readExcel(int no,int row,int line){
    	try{
    	    //先找到我们的excel文件test.xls
            book = Workbook.getWorkbook(new File("test.xls"));
            //  获得第no个工作表对象(Excel中会有很多sheet) 
            sheet = book.getSheet(no);
            //  得到第row列第line行的单元格 
            Cell cell1 = sheet.getCell(row,line);
            //获取row列line行对应的单元格中的数据
            result = cell1.getContents();
            //只是打印出看一下是否正确
            System.out.println(result);
            //关闭Workbook对象
            book.close();
         }catch(Exception e){
            System.out.println(e);
         }
         //返回单元格内容
	 return result;
    }
    
    //返回行数
    public static int excelNum(int no){
    	int col = 0;
    	int row = 0;
    	try{
    	    //同上
    	    book = Workbook.getWorkbook(new File("test.xls"));
    	    //获取第no个工作表
    	    sheet = book.getSheet(no);
    	    //得到行数和列数
    	    col = sheet.getColumns();	//列数
    	    row = sheet.getRows();	//行数
    	    System.out.println(col+" 列");
    	    System.out.println(row+" 行");
    	    book.close();
    	}catch(Exception e){
    	    System.out.println(e);
    	}
    	//返回行数
    	return row;
    }
}

程序清单3-更新Excel文件:

package com.test;

import  java.io.File;
import  jxl.Workbook;
import  jxl.write.Label;
import  jxl.write.WritableSheet;
import  jxl.write.WritableWorkbook;

/*
 * 更新Excel中的内容
 */
public class UpdateExcel{
    public static void main(String args[]){
        try{
            //  Excel获得文件 
            Workbook wb = Workbook.getWorkbook(new File("test.xls"));
            //  打开一个文件的副本,并且指定数据写回到原文件 
            WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"),wb);
            //  添加一个工作表 
            WritableSheet sheet = book.createSheet("第一页",1);
            //  添加单元格内容
            sheet.addCell(new Label(0,0,"第一页的测试数据"));
            book.write();
            book.close();
        }catch(Exception e){
            System.out.println(e);
        }
    } 
}

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 发表评论

开源中国精彩推送

基于开源中国OpenAPI开发
  • Copyright © 2014 DiggerPlus. 85 queries in 6.587 seconds.
    使用合作网站账号快速登录,更多精彩等着您: 开源中国