• PO页面对象模式封装


    PO的主要价值体现在对界面交互细节的封装,这样可以使测试案例可以更关注与业务而非界面细节,提高测试案例的可读性。


     
    以传统的登陆页面为例實現PO模式,因为每个用例中都需要登陆。
    其中需要使用PageFactory.initElements()工厂方法,此方法也可以解决页面元素过期的问题。
     。。
    页面层,对用例中需要用到的元素定义的Page文件中。
    /**
     * 登陆页页面元素
     * @author herry
     *
     */
    public class LoginPage {
    @FindBy(id="ploginname")
    public static WebElement username;
    @FindBy(id="j_password")
    public static WebElement password;
    @FindBy(id="captchaCode")
    public static WebElement code;
    @FindBy(css="a.account_15")
    public static WebElement sumbitButton;
    }
     
     
    //封裝主要的業務功能操作,例如這裡的登陸功能,
    public class LoginUK_Control extends LoginPage {
    LoginPage loginPage=PageFactory.initElements(driver, LoginPage.class);
    /**
    * 登录loginUK
    * @param username
    * @param pass
    * @param code
    * @param flag 账户状态
    */
    public LoginUK_Control(String username,String pass,String code) {
    loginPage.username.clear();
    loginPage.username.sendKeys(username);
    loginPage.password.clear();
    loginPage.password.sendKeys(pass);
    loginPage.code.clear();
    loginPage.code.sendKeys(code);
    loginPage.sumbitButton.click();
     
    }
    }
     
    //在用例層面,每次調用登陸業務時,只需要調用control方法,無需關注頁面層面,這樣如果頁面層面有改動,也只需修改Page方法即可。
    @Test(dataProvider = "dataFortestMethod")
    public void NZ_Front_001(Map<String, ArrayList<String>> data) {
    driver.get(config.getValue("config.LoginUKURL"));
    new  Control(data.get("username").get(0).toString(), data
    .get("password").get(0).toString(), data.get("code").get(0)
    .toString());
    assertEquals(driver.getTitle(),
    Init.properties.getValue("forexHome.title"));
    home.loginOut.click();
    }
  • 相关阅读:
    最棒的HyperV监控工具 HyperV Gadget
    VSTS 强制TFS更新用户组权限
    Touch Diamond 印象
    Travelers
    Touch 全能名片王
    惠普前总裁孙振耀指点职业规划
    Shinning 我所听过最棒的演讲
    DB2 9 运用开辟(733 考试)认证指南,第 2 局部: DB2 数据独霸(9)
    DB2 9 使用斥地(733 测验)认证指南,第 1 局部: 数据库对象与编程措施(2)
    DB2 9 行使启示(733 检验)认证指南,第 2 部分: DB2 数据行使(2)
  • 原文地址:https://www.cnblogs.com/shengs/p/7979733.html
Copyright © 2020-2023  润新知