Selenium(7)-webUI自动化的PO页面封装之登录页面
2024-05-14 本文已影响0人
小小一颗卤蛋
完成了浏览器的封装以及基类的封装之后,就可以做业务层的页面封装了。
我们可以选择基类中的方法以及默认的浏览器(配置的文件)来实现业务层的功能,因此我们需要继承基类。
本节点做登录页面的封装以及登录页面的测试用例编写。
登录页面的封装
步骤:打开浏览器--打开登录页--登录系统
import time
from PageObiects.mainPage import MainPage
from Common.BasePage import BasePage
from configs.env import Env
from Common.allelements import Loginpageelements, Mainpagelements
class LoginPage(BasePage):
def open_loginpage(self):
self.open_url(url=Env.HOST)
# 定位元素未使用yaml读取,直接使用类,不好管理
def login_host(self, username, password):
"""
输入username的定位器,以及文本内容,定位器可以封装到另一个py文件中,或者使用yaml配置文件
:param username:
:param password:
:return:
"""
# self.open_url(url=Env.HOST)
LoginPage.open_loginpage()
self.input_text(locator=Loginpageelements().username_input, text=username)
self.input_text(locator=Loginpageelements().password_input, text=password)
self.click_element(Loginpageelements().login_button)
return MainPage()
# 定位元素使用yaml读取,把yaml的定位器转换为类的属性后,可直接调用
def login_host_(self, username, password):
# self.open_url(url=Env.HOST)
LoginPage.open_loginpage(self)
self.input_text(locator=self.username_input, text=username) # 属性在运行后才产生,所有是标黄的
self.input_text(locator=self.password_input, text=password) # 输入password的定位器,以及文本内容
self.click_element(self.login_button)
# self.click_element(self.first_menu, desc='点击菜单按钮')
return MainPage()
def logout(self):
self.click_element(Mainpagelements.setings)
self.click_element(Mainpagelements.quit)
self.click_element(Mainpagelements.comfirm_)
if __name__ == '__main__':
login = LoginPage()
login.login_host_(username='admin', password='111111')
time.sleep(2)
login.logout()