如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...

这篇具有很好参考价值的文章主要介绍了如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Po模型介绍

1、简介
在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率

2、为什么要用PO
基于selenium2开始ui自动化测试脚本的编写不是多么艰巨的任务。只需要定位到元素,执行对应元素的操作即可。

我们所能做的就是元素的定位,然后进行键盘输入或鼠标动作。但随着时间的迁移,测试套件将持续的增长。脚本也将变的越来越多。如果我们需要维护10个页面,100个页面,甚至1000个呢?

那么页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错。那怎么解决呢?

ui自动化中,常用的一种方式,引入Page Object(PO):页面对象模式来解决,po能让我们的测试代码变得可读性更好,可维护性高,复用性高。

3、PO的优势
PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。
页面对象与用例分离,使得我们更好的复用对象。
可复用的页面方法代码会变得更加优化
更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。

重用,业务和对象分离,代码结构清晰,方便代码维护

Po的设计模式

如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...,软件测试,自动化测试,web自动化测试,软件测试,软件测试工程师,自动化测试,web自动化测试,web自动化,自动化测试框架,python自动化测试
如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...,软件测试,自动化测试,web自动化测试,软件测试,软件测试工程师,自动化测试,web自动化测试,web自动化,自动化测试框架,python自动化测试

PO的核心要素

1、在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性

2、每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法

3、TestCase继承unittest.Testcase类,并依赖page类,从而实现相应的测试步骤

PO设计模式中的BasePage基类对应案例中的BasePage.py文件
PO模式中的pages中的案例显示Search.py
PO模式设计中TestCase对应案例中的TestCase.py

如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...,软件测试,自动化测试,web自动化测试,软件测试,软件测试工程师,自动化测试,web自动化测试,web自动化,自动化测试框架,python自动化测试

非PO实现

# 代码展示
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("jack")
sleep(1)
driver.find_element_by_id("su").click()
sleep(2)
driver.quit()

代码分析:
不同的运行脚本环境,游览器不同:驱动webdriver.Firefox()可以剥离;
请求地址的变化(生产环境和测试环境):url = http://www.baidu.com可以剥离;

操作元素时,常常要等待元素加载完成方可进行操作:可以把webdriver提供的find_element*方法封装,在元素操作前,先判断元素是否可以操作;

实际测试场景中,可能有多个测试场景,如果每个测试场景都需要维护url,游览器驱动,元素定位等,效率会非常低;

因此基于以上分析,是否可以设计一个所有测试界面(selenium本身是B/S系统开展测试)的基类,来维护公共的方法,此处定义名字为BasePage.py,用于存放页面公共方法及webdriver原有方法二次封装等。

PO实现(多个 page界面)

1、Base基类(base.py)文章来源地址https://www.toymoban.com/news/detail-635644.html

from selenium.webdriver.common.action_chains import ActionChains  # 鼠标操作


class 

到了这里,关于如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何搭建关键字驱动自动化测试框架?这绝对是全网天花板的教程

    目录 1. 驱动自动化测试介绍 2. 搭建驱动自动化测试框架 步骤1:选择测试工具 步骤2:定义测试用例 步骤3:编写测试驱动引擎 步骤4:实现测试库 步骤5:执行测试 3. 实现驱动自动化测试的关键技术 技术1:测试工具 技术2:测试驱动引擎的编写 技

    2023年04月20日
    浏览(72)
  • 从0到1框架搭建,Python+Pytest+Allure+Git+Jenkins接口自动化框架(超细整理)

    接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型。 接口测试流程 1、需求评审,熟悉业务和需求 2、开发提供接口文档 3、编写接口测试用例 4、用

    2024年02月14日
    浏览(60)
  • 这才是自动化测试,资深测试构建持续交付体系(高质量)持续集成...

    软件测试-自动化测试 Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/ 无论是保障质量,还是提升效率,都需要某些持续的能力来支撑他们。 这种支撑能力,可以看作是一种工厂化的流水线能力,业内通常将其统称为持续交付。 从质量保障的角度总体来说,可以将其分为

    2024年02月05日
    浏览(55)
  • 接口自动化测试框架搭建【附详细搭建视频】

    如果遇到什么问题建议观看下面视频: 【敢称全站第一】B站最全的Python自动化测试深度学习教程!学完即就业,小白也能信手拈来!帮你少走99%的弯路~ 一、原理及特点 参数放在XML文件中进行管理 用httpClient简单封装一个httpUtils工具类 测试用例管理使用了testNg管理,使用了

    2024年02月07日
    浏览(49)
  • Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件

    本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用。后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用。 以下整理的只是书中自动化项目的知识内容,介绍怎么搭

    2024年02月05日
    浏览(67)
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化

    总体框架 PO模式、DDT数据驱动、驱动 框架技术选择 框架运行结果 各用例对应的定义方式(PO/DDT) 测试执行结果 从零开始搭建项目 一、开发环境搭建 二、新建项目 三、基础功能实现 1. 配置功能实现(Conf) 2. 日志功能实现(Log) 3. 读取EXCEL实现(data) 4. 邮件发送实

    2024年02月07日
    浏览(69)
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化)

    总体框架 PO模式、DDT数据驱动、驱动 框架技术选择 框架运行结果 各用例对应的定义方式(PO/DDT) 测试执行结果 从零开始搭建项目 一、开发环境搭建 二、新建项目 三、基础功能实现 1. 配置功能实现(Conf) 2. 日志功能实现(Log) 3. 读取EXCEL实现(data) 4. 邮件发送实

    2024年02月04日
    浏览(70)
  • selenium测试框架快速搭建(UI自动化测试)

    一、介绍         selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者name找到对应的按钮,然后执行click操作就可以完成

    2024年02月02日
    浏览(71)
  • appium自动化测试实战详解及框架搭建

    目录 一、Appium的介绍     二、Appium实战(以真机为例)        Appium是一款开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。 1、 使用appium进行自动化测试的好处        Appium在不同平台中使用了标准的自动化APIs,所以在跨平台

    2024年02月05日
    浏览(52)
  • 接口自动化测试框架搭建【附教程加源码】

    1 接口测试 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。 接口自动化相对于UI自动化来说,属于更底层的测试,这样带来的好处就是测试收益更大,且维护成本相对来说较低,是我们进行自动化测试的

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包