美文网首页
Selenium(7)-webUI自动化的PO页面封装之登录页面

Selenium(7)-webUI自动化的PO页面封装之登录页面

作者: 小小一颗卤蛋 | 来源:发表于2024-05-14 11:53 被阅读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()
    

    相关文章

      网友评论

          本文标题:Selenium(7)-webUI自动化的PO页面封装之登录页面

          本文链接:https://www.haomeiwen.com/subject/jvglgdtx.html