在我们学习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中