Selenium之利用Excel实现参数化
Excel 实现 利用 参数 selenium
2023-09-11 14:20:31 时间
说明:我是通过Workbook方式来读取excel文件的,这次以登陆界面为例
备注:使用Workbook读取excel文件,前提是excel需要2003版本,其他版本暂时不支持
具体步骤:
第一步:新建一个excel文件,并且输入数据内容
第二步:在eclipse中新建一个java class,编写获取excel文件的代码
CODE:
//利用list集合来存放数据,其类型为String private List string list=new ArrayList /string string //通过Workbook方式来读取excel Workbook book; String username; * 获取excel文件第一列的值,这里取得值为username public List /string string readUsername(String sourceString) throws IOException,Exception{ List /string string userList = new ArrayList /string string try { Workbook book =Workbook.getWorkbook(new File(sourceFile)); Sheet sheet=book.getSheet(0); //获取文件的行数 int rows=sheet.getRows(); //获取文件的列数 int cols=sheet.getColumns(); //获取第一行的数据,一般第一行为属性值,所以这里可以忽略 String col1=sheet.getCell(0,0).getContents().trim(); String col2=sheet.getCell(1,0).getContents().trim(); System.out.println(col1+","+col2); //把第一列的值放在userlist中 for(int z=1;z rows ;z++){ String username=sheet.getCell(0,z).getContents(); userList.add(username); } catch (Exception e) { e.printStackTrace(); //把获取的值放回出去,方便调用 return userList; * 获取excel文件第二列的值,这里取得值为password public List String readPassword(String sourceString) throws IOException,Exception{ List string passList = new ArrayList /string string try { Workbook book =Workbook.getWorkbook(new File(sourceFile)); Sheet sheet=book.getSheet(0); int rows=sheet.getRows(); for(int z=1;z rows ;z++){ String password=sheet.getCell(1,z).getContents(); passList.add(password); } catch (Exception e) { e.printStackTrace(); return passList; public List String getList(){ return list; 第三步:新建一个TestNg Class,把excel数据填写到测试界面,具体代码如下: CODE:
import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import File.ExcelWorkBook; public class LoginCenter { private WebDriver driver; private String url; String sourceFile="你文件的路径和文件名称"; @BeforeClass public void testBefore(){ //设置firefox浏览器 FirefoxProfile file=new FirefoxProfile(new File("C:\\Users\\qinfei\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\t5ourl6s.selenium")); driver=new FirefoxDriver(file); url="你的测试地址"; @Test public void login() throws Exception{ //初始化ExcelWorkBook Class ExcelWorkBook excelbook=new ExcelWorkBook(); //进入到你的测试界面 driver.get(url); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); //把取出的username放在userlist集合里面 List string userList=excelbook.readUsername(sourceFile); //把取出的password放在passlist集合里面 List /string string passList=excelbook.readPassword(sourceFile); //把取出来的值,输入到界面的输入框中 int usersize=userList.size(); for(int i=0;i usersize ;i++){ //通过css定位到username输入框 WebElement username=driver.findElement(By.cssSelector("input[name=\"j_username\"]")); //通过css定位到password输入框 WebElement password=driver.findElement(By.cssSelector("input[name=\"j_password\"]")); //通过xpath定位登录按钮 WebElement submit=driver.findElement(By.xpath("//button//span[contains(text(),登录)]")); //清除username输入框的内容 username.clear(); //把list中数据一个一个的取出来 String name=userList.get(i); //然后填写到username输入框 username.sendKeys(name); for(int j=0;j passList.size();j++){ password.clear(); String pass=passList.get(j); password.sendKeys(pass); //点击登录按钮 submit.click(); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); //通过xpath定位登出按钮 WebElement logoutButton=driver.findElement(By.xpath("//button//span[contains(text(),登出)]")); logoutButton.click(); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); }catch(Exception e){ e.printStackTrace(); 最新内容请见作者的GitHub页:http://qaseven.github.io/
selenium webdriver读取excel进行数据驱动测试 最近做自动化需要从文件读取数据做参数化,网上发现一个不错的解决方案。 准备:新建一个excel文件,文件名为测试类名,sheet名为测试方法名 excel第一行为标题,从第二行开始为测试数据 build path:jxl.
Python selenium webdriver 基本使用 系列文章目录 selenium webdriver 的常用示例 一、Pip安装&创建Bowser对象 1.Pip install selenium 2.创建Bowser对象 二、webdriver.ChromeOptions配置 配置浏览器的常用模式 三、常用代码 四、selenium的异常处理
//利用list集合来存放数据,其类型为String private List string list=new ArrayList /string string //通过Workbook方式来读取excel Workbook book; String username; * 获取excel文件第一列的值,这里取得值为username public List /string string readUsername(String sourceString) throws IOException,Exception{ List /string string userList = new ArrayList /string string try { Workbook book =Workbook.getWorkbook(new File(sourceFile)); Sheet sheet=book.getSheet(0); //获取文件的行数 int rows=sheet.getRows(); //获取文件的列数 int cols=sheet.getColumns(); //获取第一行的数据,一般第一行为属性值,所以这里可以忽略 String col1=sheet.getCell(0,0).getContents().trim(); String col2=sheet.getCell(1,0).getContents().trim(); System.out.println(col1+","+col2); //把第一列的值放在userlist中 for(int z=1;z rows ;z++){ String username=sheet.getCell(0,z).getContents(); userList.add(username); } catch (Exception e) { e.printStackTrace(); //把获取的值放回出去,方便调用 return userList; * 获取excel文件第二列的值,这里取得值为password public List String readPassword(String sourceString) throws IOException,Exception{ List string passList = new ArrayList /string string try { Workbook book =Workbook.getWorkbook(new File(sourceFile)); Sheet sheet=book.getSheet(0); int rows=sheet.getRows(); for(int z=1;z rows ;z++){ String password=sheet.getCell(1,z).getContents(); passList.add(password); } catch (Exception e) { e.printStackTrace(); return passList; public List String getList(){ return list; 第三步:新建一个TestNg Class,把excel数据填写到测试界面,具体代码如下: CODE:
import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import File.ExcelWorkBook; public class LoginCenter { private WebDriver driver; private String url; String sourceFile="你文件的路径和文件名称"; @BeforeClass public void testBefore(){ //设置firefox浏览器 FirefoxProfile file=new FirefoxProfile(new File("C:\\Users\\qinfei\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\t5ourl6s.selenium")); driver=new FirefoxDriver(file); url="你的测试地址"; @Test public void login() throws Exception{ //初始化ExcelWorkBook Class ExcelWorkBook excelbook=new ExcelWorkBook(); //进入到你的测试界面 driver.get(url); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); //把取出的username放在userlist集合里面 List string userList=excelbook.readUsername(sourceFile); //把取出的password放在passlist集合里面 List /string string passList=excelbook.readPassword(sourceFile); //把取出来的值,输入到界面的输入框中 int usersize=userList.size(); for(int i=0;i usersize ;i++){ //通过css定位到username输入框 WebElement username=driver.findElement(By.cssSelector("input[name=\"j_username\"]")); //通过css定位到password输入框 WebElement password=driver.findElement(By.cssSelector("input[name=\"j_password\"]")); //通过xpath定位登录按钮 WebElement submit=driver.findElement(By.xpath("//button//span[contains(text(),登录)]")); //清除username输入框的内容 username.clear(); //把list中数据一个一个的取出来 String name=userList.get(i); //然后填写到username输入框 username.sendKeys(name); for(int j=0;j passList.size();j++){ password.clear(); String pass=passList.get(j); password.sendKeys(pass); //点击登录按钮 submit.click(); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); //通过xpath定位登出按钮 WebElement logoutButton=driver.findElement(By.xpath("//button//span[contains(text(),登出)]")); logoutButton.click(); driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS); }catch(Exception e){ e.printStackTrace(); 最新内容请见作者的GitHub页:http://qaseven.github.io/
selenium webdriver读取excel进行数据驱动测试 最近做自动化需要从文件读取数据做参数化,网上发现一个不错的解决方案。 准备:新建一个excel文件,文件名为测试类名,sheet名为测试方法名 excel第一行为标题,从第二行开始为测试数据 build path:jxl.
Python selenium webdriver 基本使用 系列文章目录 selenium webdriver 的常用示例 一、Pip安装&创建Bowser对象 1.Pip install selenium 2.创建Bowser对象 二、webdriver.ChromeOptions配置 配置浏览器的常用模式 三、常用代码 四、selenium的异常处理
相关文章
- .NET导入导出Excel
- 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 一文搞懂Go读写Excel文件
- Python 界面教程之8个excel csv数据分析程序通过PySimpleGUI封装成exe和macos桌面程序
- Python教程之正则表达式实现拼音与中文提取并存储excel(教程含源码)
- Excel VLOOKUP实用教程之 04 vlookup如何实现三变量查找,三个条件字段查询数据?(教程含数据excel)
- ACCESS教程之如何实现基于关键词组合两个表、left join、字符串包含关系 excel和access联动(教程含详细操作方式)
- Excel VLOOKUP实用教程之 10 在使用 VLOOKUP 函数时处理错误?(教程含数据excel)
- Excel VLOOKUP实用教程之 08 VLOOKUP如果实现区分大小写的查找?(教程含数据excel)
- 基于C#语言利用Microsoft.office.introp.excel操作Excel总结
- Excel LAMBDA入门教程之工作表函数体让Excel实现图灵完备
- Excel VLOOKUP实用教程之 07 vlookup如何解决肉眼看完全匹配,但是就是返回N/A错误(教程含数据excel)
- 如何使用 Excel拆分文本单元格,基于LEFT、RIGHT、MID、SUBSTITUTE、FIND、SEARCH
- Excel表格导入导出功能实现
- java POI实现向Excel中插入图片
- Java实现将Excel导入数据库和从数据库中导出为Excel
- python openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改
- Golang 基于excelize实现Excel表格的解析、导出
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
- CAD表格怎么转换成Excel表格?CAD表格转EXCEL步骤
- 从EXCEL导入CAD后如何设置表格文字大小?
- python 第三方包openpyxl 实现Excel读写操作
- POI之Excel导入
- 电商 Python 访客Excel合并2
- Excel知识技能汇总
- [Excel函数] 计算统计类函数