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

2018-11-20  本文已影响0人  YW祥

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

一、参数化

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
上一篇 下一篇

猜你喜欢

热点阅读