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()
上一篇下一篇

猜你喜欢

热点阅读