"""
"登录"页面
"""
# 页面元素对象层
from selenium.webdriver import ActionChains
from Base.base import Base
class LoginPage(object):
def __init__(self, driver):
# 私有方法
self.driver = driver
def find_username(self):
# 查找并返回“用户名”文本框元素
# ele = self.driver.find_element_by_id('username')
# ele = self.driver.find_element_by_name('username')
ele = Base(self.driver).get_element("name,username")
return ele
def find_password(self):
# 查找并返回“密码”文本框元素
# ele = self.driver.find_element_by_id('password')
ele = Base(self.driver).get_element("id,password")
return ele
def find_login_btn(self):
# 查找并返回“登录”文本框元素
# ele = self.driver.find_element_by_id('login-submit')
ele = Base(self.driver).get_element("id,login-submit")
return ele
def find_login_name(self):
# 查找并返回登陆成功后的用户名元素
# ele = self.driver.find_element_by_id('loggedas')
ele = Base(self.driver).get_element("id,loggedas")
return ele
def find_login_failed_info(self):
# 查找并返回登陆失败后的提示信息元素
# ele = self.driver.find_element_by_id('flash_error')
ele = Base(self.driver).get_element("id,flash_error")
return ele
# def find_verification_code(self):
# # 增加一个查找验证码的元素
# ele = self.driver.find_element_by_id('aaa')
# return ele
# 页面元素操作层
class LoginOper(object):
def __init__(self, driver):
# 私有方法,调用元素定位的类
self.login_page = LoginPage(driver)
self.driver = driver
def input_username(self, username):
# 对“用户名”文本框做clear和send_keys操作
self.login_page.find_username().clear()
self.login_page.find_username().send_keys(username)
def input_password(self, password):
# 对“密码”文本框做clear和send_keys操作
self.login_page.find_username().clear()
self.login_page.find_username().send_keys(password)
# def click_login_btn(self):
# # 对“登录”按钮做单击操作
# self.login_page.find_login_btn().click()
def click_login_btn(self):
ele = self.login_page.find_login_btn()
ActionChains(self.driver).double_click(ele).perform()
def get_login_name(self):
# 返回登录成功后的用户名元素
return self.login_page.find_login_name().text
def get_login_failed_info(self):
# 返回登陆失败后的提示信息元素
return self.login_page.find_login_failed_info().text
# def input_verification_code(self, fixed_value=123456): # 输入万能验证码
# self.login_page.find_verification_code().send_key(fixed_value)
# 页面业务场景层
class LoginScenario(object):
def __init__(self, driver):
# 私有方法:调用页面元素操作
self.login_oper = LoginOper(driver)
def login(self, username, password):
# 定义一个登录场景,用到了3个操作
self.login_oper.input_password(username)
self.login_oper.input_password(password)
# self.login_oper.input_verification_code() # 增加输入验证码的步骤
self.login_oper.click_login_btn()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Chapter_13.rar (26个子文件)
Chapter_13
pytest.ini 153B
.idea
workspace.xml 6KB
misc.xml 504B
inspectionProfiles
Project_Default.xml 986B
profiles_settings.xml 174B
modules.xml 279B
.gitignore 184B
Chapter_13.iml 291B
Base
__pycache__
base.cpython-39.pyc 3KB
base.py 3KB
Test
TestCase
test_001_login.py 2KB
test_002_login.py 2KB
__pycache__
test_001_login.cpython-39.pyc 2KB
test_002_login.cpython-39.pyc 2KB
PageObject
project_list_page.py 742B
project_new_page.py 1KB
login_page.py 3KB
__pycache__
login_page.cpython-39.pyc 3KB
project_new_page.cpython-39.pyc 2KB
project_list_page.cpython-39.pyc 2KB
Config
redmine.yml 90B
Report
report
allure-report
Common
parse_yml.py 373B
__pycache__
parse_csv.cpython-39.pyc 524B
parse_yml.cpython-39.pyc 525B
parse_csv.py 355B
Data
test_001_login.csv 53B
共 26 条
- 1
资源评论
渣渣测试007
- 粉丝: 25
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功