美文网首页
2018-11-19UI自动化&参数化

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

作者: YW祥 | 来源:发表于2018-11-20 18:18 被阅读0次

    一、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

    相关文章

      网友评论

          本文标题:2018-11-19UI自动化&参数化

          本文链接:https://www.haomeiwen.com/subject/tabafqtx.html