软件测试笔记_10_PO模式

PO模式、三层结构、base基类、page页面层、scripts业务层、base公共的方法、page各个模块各自封装为一个对象、scripts操作模块、方法封装
摘要由CSDN通过智能技术生成

零、PO模式版本

v1:不采用任何任何模式,真正的线性模型
v2:采用测试框架(unittest)
v3:进行业务代码&页面对象的分离
v4:实际中的PO模式的编写
v5:
v6:

一、无模式v1

  1. 熟悉web自动化测试代码编写的基本流程
  2. 掌握如何使用UnitTest管理测试脚本

1. 测试案例

tpshop登录(账号错误、密码错误、验证码错误)
案例都是只能单独运行

2. 问题

无法批量运行

二、方法封装v2

1. 方法

import time
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestDemo(unittest.TestCase):
    driver = None
    @classmethod
    def setUpClass(cls):
        # 获取浏览器对象|前置处理|打开url
        cls.driver = webdriver.Chrome()
        driver = cls.driver
        # ...操作
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
    # 新建一系列测试方法
    def test_login_code_note_exit(self):
        driver = self.driver
        # ...操作
    def test_xxxx(self):
        driver = self.driver
        # ...操作
        try:
        	# 断言操作
        except AssertionError:
            # 结果截图

2. 问题

业务脚本与页面对象没有分离
维护繁琐[比如说:开发一个类名的修改,导致这边测试定位元素的修改]

三、PO模式介绍v3

1. PO介绍

  1. PO介绍
    1)PO:page(页面)、object(对象)
    2)页面对象:把一个页面封装为一个对象class
    3)每一个操作步骤–都是单独封装为一个方法比如:输入用户名封装为一个方法)
    页面层page & 业务层scripts
    页面层:页面中的对象,比如:用户名、密码、验证码、按钮…

2. 页面对象编写技巧

  1. 类名
    使用大驼峰抄写模块名称,有下划线则去除下划线
  2. 方法
    根据业务需求每个操作步骤单独封装一个方法
    方法名:page_xxx

四、PO模式实践

1. 练习-页面层

  1. 文件命名:page_login.py
  2. 导包
  3. 初始化,浏览器三个前置
  4. 封装各个方法(注意driver)
  5. 组装各个业务方法,提供给业务层调用(self.函数方法名()调用)
"""
页面层
"""
import  unittest
from selenium import  webdriver
from selenium.webdriver.common.by import By
class PageLogin:
    # 获取driver (初始化操作)
    def __init__(self):
        self.driver = webdriver.Chrome()
        driver = self.driver
        driver.get("http://demo6.tp-shop.cn/")
        driver.maximize_window()
        driver.implicitly_wait(30)
    # 点击登录 连接
    def page_click_login_link(self):
        driver = self.driver
        driver.find_element(By.LINK_TEXT, "登录").click()
    # 输入用户名
    def page_input_username(self,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值