2018-11-19UI自动化&参数化

一、java学习 idea 实时代码模板

一、参数化

  • dataProvider(配合使用csv做批量数据参数化)

1.通过@dataProvider (name="数据集合名称") 注解提供数据集合

  //通过@DataProvider(name=""数据集名称) 注解方法提供数据
  public static Object[][] resul() {
    // 提供数据 一种读取CSV文件 返回 二维数组
    //读取二维数组保存至data数组变量中
    Object[][] resul = readCSV("src/main/resources/csvData/queryrealname.csv");
    return resul; //相对路径从src开始
image.png

2.通过@Test (dataProvider="数据集合名称")

  //通过 @Text(dataProvider="数据集名称关联配对")
  public void query(String userName,String userNam,String password) {
    driver.get("http://47.98.226.232:8080/guoya-medium/jsp/user/login.jsp");
    driver.findElement(By.xpath("//input[@name='userName']")).sendKeys(userNam);
    driver.findElement(By.xpath("//input[@name='password']")).sendKeys(password);
    driver.findElement(By.xpath("//input[@id='checkCode']")).sendKeys("1234");
    driver.findElement(By.xpath("//input[@id='loginBtn']")).click();
    driver.findElement(By.name("realName")).sendKeys(userName);
    driver.findElement(By.xpath("//input[@value='查询']")).click();

  }

1.数据与脚本做分离
2.通过@paremeter注解传参

  @Parameters({"url","username","password","realname"})//通过@Parameters 添加参数
  public void Parameter(String url, String username,String password,String realname){
    //"http://47.98.226.232:8080/guoya-medium/jsp/user/login.jsp"
    driver.get(url);
    driver.findElement(By.xpath("//input[@name='userName']")).sendKeys(username);
    driver.findElement(By.xpath("//input[@name='password']")).sendKeys(password);
    driver.findElement(By.xpath("//input[@id='checkCode']")).sendKeys("1234");
    driver.findElement(By.xpath("//input[@id='loginBtn']")).click();
    driver.findElement(By.name("realName")).clear();
    driver.findElement(By.name("realName")).sendKeys(realname);
    driver.findElement(By.xpath("//input[@value='查询']")).click();
  }

3.通过xml配置执行脚本

<suite name="yex"><!-- 测试套件,里面允许有多个测试集-->
<!--text 代表测试用例集-->
<test name="test0"  enabled="true"><!--测试集-->
        <parameter name="url" value="http://47.98.226.232:8080/guoya-medium/jsp/user/login.jsp"/>
            <parameter name="username" value="zhouA031"/>
            <parameter name="password" value="qweasd"/>
            <parameter name="realname" value="周周"/>
            <parameter name="userpath" value="//input[@id='userName']"/>
            <parameter name="passpath" value="//input[@id='password']"/>
            <parameter name="submitpath" value="//input[@id='loginBtn']"/>

    <!--classes 代表类集合可执行多个类-->
    <classes>
        <!--class 代表单个类-->
        <class name="com.guoyasoft.autoUI.guoya_1810.parameter">
            <!--methods 代表方法集-->
            <methods>
                <!--include 代表方法名-->
                <include name="parameter" />

            </methods>
        </class>
    </classes>
</test>
</suite>

二、live template(活动模板)

关键字编程
提前写好代码封装
通过自定义关键字调用生成代码块

三方法

无参方法
带入参的方法
带返回的方法

思维导图:
day25UI自动化.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,316评论 25 708
  • 1.1 spring IoC容器和beans的简介 Spring 框架的最核心基础的功能是IoC(控制反转)容器,...
    simoscode阅读 6,855评论 2 22
  • 临睡时,听了微信公众号《好报》写作群邀请的一位写作嘉宾谈写作体会。这是一位叫梁超文的小伙子,一开口,有些佶屈聱牙的...
    星絮阅读 526评论 4 7
  • 2017年6月以后,得到App在APP Store图书(畅销)排行榜中基本稳居第一,总榜排名也是逐渐上升 从安卓的...
    思念q阅读 2,736评论 0 4
  • #反差萌#不知道你有没有见过一个整天嬉皮笑脸的人,顿时变的一本正经又显的十分可怜的跟你道歉。 #反差萌#一个很少说...
    三逗桑阅读 320评论 2 2

友情链接更多精彩内容