首页 > 其他分享 >Selenium35-模块化设计

Selenium35-模块化设计

时间:2022-12-27 19:01:43浏览次数:33  
标签:Selenium35 层级 -- 模块化 代码 测试用例 模块 设计

模块化设计

  • 模块化用来分隔,组织和打包软件
    • 每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要的功能
  • 在系统结构中,模块是可组合、分解和更换的单元
    • 模块化是一种处理复杂系统分解成为更好的可管理的方式
    • 它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、相互作用的组件、来处理复杂、大型的软件

模块化设计模型进一步优化代码架构

  • 问题:各个模块的testcase层级代码中都存在通用的方法,并没有复用。各个模块的pageobject层级代码里都存在通用的操作
  • 目标:复用这些代码,给各个模块的testcase层级代码使用

优化方案-封装公共基类

  • common包:封装基础操作模块

    • 网页基础操作模块:记录网页里的基础操作动作。
    • 测试用例基础操作模块:记录测试用例里用来判断和检查使用的通用方法。
  • 网页基础操作模块
    common包-->page_action.py文件中-->class PageBase

    • locate 定位
    • click 点击
    • input_text 输入文本
    • clear 清空
    • get_text 获得静态文本
    • get_input 获得文本框数据
    • switch_to_default 切换默认主网页
  • 封装页面基类

  • 修改页面对象类

    • from common.page_action import PageBase
    • class LoginPage(PageBase):

  • 测试用例基础操作模块:记录测试用例里用来判断和检查使用的通用方法
    common包里新建测试用例基础模块:假设叫做case_action.py在该模块里定义一个类,假设叫做CaseBase,负责管理各个模块的测试用例代码中的通用操作方法。

    分析:setUp、tearDown……写在此类中后,如何在testcase层级的各个代码中使用它?
    思路:把这个类CaseBase作为testcase层级的各个代码中测试用例类的父类来使用。
    新的问题:测试用例类原来有父类是unittest.TestCase。
    新方案:多重继承机制来实现。

读取csv工具模块

utils包: 存储工具模块

  • 读取csv工具模块:读取csv格式的文件

    utils-->read_csv.py-->class CSVUtil:
    __init__
    get_list_data
    

  • 测试用例基础操作模块
  • 定义用例基类
  • setUp方法
  • 其他通用方法

标签:Selenium35,层级,--,模块化,代码,测试用例,模块,设计
From: https://www.cnblogs.com/sean-test/p/17008775.html

相关文章

  • 从涂鸦到发布——理解API的设计过程(转)
    英文原文:​​FromDoodlestoDelivery:AnAPIDesignProcess​​要想设计出可以正常运行的WebAPI,对基于web的应用的基本理解是一个良好的基础。但如果你的目标......
  • PPT 表格设计
    顶级商业图表在哪找​​https://www.mckinsey.com.cn/​​​麦肯锡图表​​​https://www.cbnweek.com​​​第一财经​​​https://data.163.com/​​​DATABLOG数......
  • 设计模式之“状态模式(State)”(未完整)
    一、状态模式(State)状态模式是当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 二、状态模式的作用状态模式主要解决的是当控制一个对象状态转......
  • 机器人主轴设计参考
    一、砂轮机主轴I.基本参数介绍在打磨砂轮机设计过程中,针对现有砂轮机基本结构进行拆解分析,基本拆卸图如下:图1.为完整砂轮情况图2.为砂轮保护外壳,采用螺母收紧......
  • 数据密集型应用系统设计
    前言硬件方面,CPU主频增长日趋缓慢,而多核系统成为新常态,网络速度则依旧保持快速发展,这就意味着并行分布式系统将会成为业界主流。如今一个不起眼的小公司,也完全......
  • 《C语言程序设计》课程设计实践考核说明
    《C语言程序设计》课程设计实践考核说明《C语言程序设计》课程设计实践考核说明本次设计是为加强学生的《C语言程序设计》课程的实际应用能力而进行的专门训练。选题考虑......
  • POSIX 多线程程序设计
     POSIX 多线程程序设计 目录表 ​​摘要​​  ​​译者序​​​Pthreads概述 ​​​什么是线程? ​​​​什么是Pthreads? ​​​​为什么使用Pthreads? ​......
  • 实践GoF的23种设计模式:命令模式
    摘要:命令模式可将请求转换为一个包含与请求相关的所有信息的对象,它能将请求参数化、延迟执行、实现Undo/Redo操作等。本文分享自华为云社区《【Go实现】实践GoF的23......
  • 数据仓库与多维模型设计
    这是一份早期传统行业时代的数据仓库与多维模型的设计内容,对于初学者还是有参考与学习价值。备注:该文档是在早期广州菲奈特(之前在数据仓库非常有名)一个培训ppt关于数据仓库......
  • 数据分析师成长体系漫谈 - 数仓模型设计
    备注: 本文是前阿里巴巴数据分析专家-张腾在infoQ账号 analysis-lion序看到标题,可能很多小伙伴都会疑惑,为什么笔者把数仓模型设计也纳入了数据分析师的成长体系之中,因为可......