• java+Selenium+TestNg搭建自动化测试架构(3)实现POM(page+Object+modal)


    1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。

      PageObject设计模式:是将某个页面的所有"元素(包含控件)属性"及"元素操作"封装在1个类(Class)里面。

    2.以我们公司的登录页面为例讲解pom模式:

    pom的模式就是测试代码和元素定位的分离,保证在元素定位发生改变的时候,不会再去更改测试代码,实现测试代码和页面元素的分离。

    3.元素定位代码:

    package com.rrx.test;

    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.support.FindBy;

    public class TestLoginPage {
    //登录名
    @FindBy(xpath=".//*[@id='username']")
    WebElement userName;
    //密码
    @FindBy(xpath=".//*[@id='password']")
    WebElement password;
    //登录按钮
    @FindBy(xpath=".//*[@id='form']/div[4]/button")
    WebElement login;
    public void login(String user,String pass){
    System.out.println(user);
    userName.sendKeys(user);
    password.sendKeys(pass);
    login.click();
    }

    }

    4.测试代码:

    package com.rrx.test;

    import java.io.IOException;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.support.PageFactory;
    import org.testng.Assert;
    import org.testng.Reporter;
    import org.testng.annotations.Test;

    import com.rrx.framework.BorwserEngin;
    import com.rrx.framework.Logger;

    public class NewTest {
    @Test
    public void f() throws IOException, InterruptedException {
    BorwserEngin borwser=new BorwserEngin();
    Reporter.log("我在打印日志");
    WebDriver driver = borwser.getDriver();
    TestLoginPage page=PageFactory.initElements(driver, TestLoginPage.class);
    page.login("hexin001","Test123456");

    Reporter.log("我退出浏览器了");
    Thread.sleep(3000);
    Logger.getLogger().info("退出");
    // borwser.tearDown();



    }
    }

  • 相关阅读:
    git 在局域网新建远程库及本地开发常用命令
    sql server 常用操作
    LNMPA遇到504 Gateway time-out错误的解决方法
    安全cookie登录状态设计方案
    linux 启动ftp服务,sftp服务
    最详细的cookie和浏览隐私之间的关系
    IE无法获得cookie,ie不支持cookie的解决办法,火狐支持
    关于mysql联合索引
    常用Mysql命令
    常用Linux命令、包括vi 、svn
  • 原文地址:https://www.cnblogs.com/liwei09k1/p/8183542.html
Copyright © 2020-2023  润新知