元素操作与脚本分离(页面类操作)
说明:先从redmine_locators.py中取得元素,再封装定位页面元素的方法,便于Login.py使用。
注意:先定义BasePage基础类,在初始化方法__init__中定义driver、user、pwd等要使用的形参;再创建LoginPage类,让它继承BasePage类,主要实现对登录页面上的元素进行封装,形成操作方法。此行为是PO模式中最重要的对象层。
#!python3.6
# coding=utf-8
'''以下三个信息是记录编写的日期时间和姓名'''
__authon__ = 'XXX'
__data__ = "2021-06-24 17:24"
data = "2021/6/24 17:24"
from selenium import webdriver
from time import sleep
from datacenter.test.element.redmine_locators import LoginPageLocator
class BasePage():
def __init__(self,driver,user,pwd):
self.driver=driver
self.user=user
self.pwd=pwd
class LoginPage(BasePage):
def enter_user(self,user):
#这里*,代表把传入的参数转换成string;若不加*,一直报错,提示invalid argument: 'using' must be a string
ele=self.driver.find_element(*LoginPageLocator.User)
ele.clear()
ele.send_keys(user)
def enter_pwd(self,pwd):
ele=self.driver.find_element(*LoginPageLocator.Pwd)
ele.clear()
ele.send_keys(pwd)
def click_login(self):
ele=self.driver.find_element(*LoginPageLocator.LoginSubmit)
ele.click()
test测试文件:
1.页面元素与脚本分离(页面中的元素):redmine_locators.py
2. 元素操作与脚本分离(页面类操作):login_page.py
3、功能脚本操作(用例脚本):Login.py
4、执行用例脚本:run.py