Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)

来源:互联网 发布:mac拔掉耳机没声音 编辑:程序博客网 时间:2024/05/22 08:08

概述

框架提供了excel数据驱动方式运行测试用例的工具,本文将针对数据驱动,进行详细演示。

详见类:lazy.test.ui.browser.ExcelDataProvider

 

被测对象:

http://bj.sqyishi.com/user/login.htm
image

 

测试场景:

输入用户名,点击登录,校验各种异常输入

输入后,红框里会出现一些异常提示,如图:

image

 

bean层代码:

使用插件生成

package test;import lazy.test.ui.annotations.*;import lazy.test.ui.beans.PageBean;import lazy.test.ui.controls.*;import lazy.test.ui.browser.BrowserEmulator;public class login extends PageBean {    @Xpath(xpath={"//input[@id='username']", "//input[@name='username']", "//input[contains(@class,'text highlight1')]"})    @Frame(frame="")    @Description(description="username")    public Text username;    @Xpath(xpath={"//button[@id='pwdLoginSubmit']", "/html/body/form/div/div[3]/div/div[8]/button"})    @Frame(frame="")    @Description(description="pwdLoginSubmit")    public Click pwdLoginSubmit;    public login(BrowserEmulator be) { super(be); }}


 

page层代码

import lazy.test.ui.browser.BrowserEmulator;public class LoginRegisterBean {private BrowserEmulator be;Login loginBean = new Login(be);//打开登陆页public void openLoginURL(){   be.open("http://bj.sqyishi.com/user/login.htm");}//校验是否存在文字public void expectTextCheck(String expectText){   be.expectTextExistOrNot(true, expectText, 3500);}//手机号输入校验public void userNameCheck(String telephone, String expectText){   openLoginURL();   loginBean.username.input(userName);   loginBean.pwdLoginSubmit.click();   expectTextCheck(expectText);}}


 

数据驱动文件

image

 

1. Excel放在Data文件夹下,即根目录的/data/下面

2. Excel命名方式:测试类名.xls,如图中①

3. Excel的sheet命名方式:测试方法名,如图中②

4. Excel第一行为Map键值,如图中第一行

5. 最后一样必须以“#”号结尾,表示终止,如图中③

6. 可以使用第一列控制其是否运行,如图中④,第六行,不运行

 

Test层代码

package com.ebl.UIAutomation.test.loginRegister;import java.io.IOException;import java.lang.reflect.Method;import java.util.Iterator;import java.util.Map;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;import lazy.test.ui.browser.ExcelDataProvider;public class LoginRegisterParamTest extends loginBaseTest{   //使用驱动数据运行测试用例   @Test(dataProvider = "dp" )   public void UsernameCheck(Map<String,String> data) {      if(data.get("isRun").equals("1")){//使用第一列控制其是否运行         loginPage.userNameCheck(data.get("telephone"), data.get("expectText"));      }   }   //根据类名、方法名,加载驱动数据    @DataProvider(name = "dp")    public Iterator<Object[]> dataFortestMethod(Method method) throws IOException {       return new ExcelDataProvider(this.getClass().getName(),method.getName());    }}


 

运行

使用testng运行test:UsernameCheck

便会启动浏览器

打开登录页面

一行为一个case,按excel中顺序,向用户名框中填入telephone列的值,

点击登录,

校验页面上是否出现了expectText列的文字。

wx1

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贴双眼皮眼皮松怎么办 dpf灯亮了怎么办 60岁社保没交满怎么办 老公素质太差怎么办 耿彦波退休了太原怎么办 宫腔镜三天后同房了怎么办 开关失灵关不了怎么办 灯的开关关不掉怎么办? 身上毛孔粗大怎么办呀 脸被牙膏灼伤怎么办 wifi要登录认证怎么办 本科没有选导师怎么办 预授权撤销了怎么办 软件连不上网怎么办 手机屏幕出现有道词典怎么办 孩子总觉得没错怎么办 孩子动手打父母怎么办 初中零基础高中怎么办 弟媳妇爱上我怎么办 孩子考不好家长怎么办 小高考不过关怎么办 小高考不过考生怎么办 江苏不过怎么办小高考 大小脸拍婚纱照怎么办 被大学开除学籍怎么办 大专不给你退学怎么办 大专退学后档案怎么办 多单位同时录取怎么办 毕业学校改名了怎么办 改名后所有档案怎么办 大学学校改名毕业证怎么办 洗碗下水道堵了怎么办 美国打朝鲜丹东怎么办 欧洲通票行程不够怎么办 飞机安检被拦下东西怎么办 火车站丢了东西怎么办 高铁乘务近视怎么办 高铁乘务员怀孕怎么办 小超市生意不好怎么办 企业数字证书过期了怎么办 盆栽植物烂根怎么办