Selenium之Page Object Model 设计理念 ------Page篇

在我们学习selenium的po模式之前,我们先要了解什么是自动化测试,以及selenium中的八大定位的基本操作,那么接下来,您可以跟我一起走进po模式中的page篇的编写(调用base页填充元素)

引言

Page页的理念

Page页实现了操作层和业务层的分离,一般来说一个page页对应着一个用例或是一个模块,比如公司正在做一个电商的项目,那么购物车模块、我的模块、登录/注册模块都对应着一个page页

通过上一篇Base页的编写,学会如何封装基础Api,那么这篇为您带来Page页的编写既对Base页中的方法进行调用

Page页的具体编写

本博主会持续更新,现在对一号店购物平台来设计Page

编写Page页前提:

先要确定好你要编写哪一个模块的用例,然后来编写对应的Page,这里对登录模块进行Page编写

1、首先要在Page包下创建Login_Page.py文件,并创建Logins类

2、导入之前我们写好的Base页,并让Logins类继承Base页中的Base类

from Page_Object_Model.Base.Base_Page import Base  # 导入Base类
from selenium.webdriver.common.by import By  # 导入By方法
class Logins(Base): # 继承Base页中的Base类
    def __init__(self,driver,url):  # 初始化方法
        Base.__init__(self,driver,url)  # 重写父类方法,这里不做改变

    def click_login(self):  #点击一号店最上方的登录
        self.click_element(By.CLASS_NAME,'hd_login_link')

    def input_username(self,text):  #输入账号
        self.input_text(text,By.NAME,'credentials.username')

    def input_pwd(self,text):  #输入密码
        self.input_text(text,By.NAME,'credentials.password')

    def click_end_login(self):  # 点击登录
        self.click_element(By.CLASS_NAME,'login_btn')

    def get_logins(self):  #获取登录后的文本信息
        return self.get_text(By.CLASS_NAME,'hd_login_name')

在Page页需要注意的是,如果有需要获取的值拿到case页中进行校验的,比如我们在编写用例时的预期结果要和真实结果进行对比,那么同样,在page页中也是需要返回的

def get_logins(self):  #获取登录后的文本信息
        return self.get_text(By.CLASS_NAME,'hd_login_name')

下篇为您带来common(共用类的编写)

如您有任何问题,小友都会很热情的回复

请在博客下方留言

也可以加QQ:2633547951

共同进步,测试好友们

持续更新PO中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值