【Python Web自动化】03_PO模型

那么问题来了:什么是PO模型呢?简单理解就是:把每个页面当成一个对象,给这些页面当成一个类,主要就是完成元素定位和业务操作;它和测试脚本区分开来,需要什么取这些页面类去调用即可。这样的好处在于页面元素发生变化时,只需要去维护页面类即可,其他部分就不用管。
GitHub代码commits id:73a583a


PO模型的基本思路:register_page(查找页面元素类) —> register_handle(操作层,将查找到的元素位置上传递数据) —> register_business(业务层:调用操作层,根据操作层的传递的结果进行判断场景,如邮箱错误场景等) —> first_case(封装调用业务层,进行测试用例的场景组装)
此处代码居多里面的详细操作教程稍后补上,这块的代码还有一个小问题,就是传递的数据会重复输入,下面章节将会采用新的方法来解决这个问题。

一、页面元素查找类

此页面当然是指的我们的注册页面了,通过前面的学习我们发现查找页面元素可以独立封装成一个类,以便在其他地方去调用。

#!/bin/usr/env python3
# -*- coding: utf-8 -*-
# --------------------------------
# ProjectName: 
# Author: Crisimple
# CreateTime: 2019/6/10 17:34
# FileName: register_page.py
# Description: 主页用来获取注册页面的页面元素
# Question: PO的精髓:页面、case、数据分离开来
# --------------------------------

from code_package.base.find_element import FindElement

class RegisterPage(object):

    def __init__(self, driver):
        self.find_element = FindElement(driver)

    def get_email_element(self):
        return self.find_element.get_element("user_email")

    def get_username_element(self):
        return self.find_element.get_element("user_name")

    def get_password_element(self):
        return self.find_element.get_element("password")

    def get_code_element(self):
        return self.find_element.get_element("code_text")

    def get_button_element(self):
        return self.find_element.get_element("register_button")

    # 错误信息......
    # 获取邮箱栏错误提示
    def get_email_error_info(self):
        return self.find_element.get_element("register_email_error")

    # 获取用户名错误提示
    def get_username_error_info(self):
        return self.find_element.get_element("register_username_error")

    # 获取密码错误提示
    def get_password_error_info(self):
        return self.find_element.get_element("register_password_error")

    # 获取验证码错误提示
    def get_code_error_info(self):
        return self.find_element.get_element("captcha_code_error")

二、数据操作类

很自然滴,查找到页面元素后当然是要给这些元素的输入框输入我们的注册数据了。当然这块是得调用到页面元素查找类。


                
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值