IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Selenium——自动化测试框架基础浅析 -> 正文阅读

[开发测试]Selenium——自动化测试框架基础浅析

自动化测试框架基础

自动化框架介绍

  1. UI自动化测试框架是应用于自动化测试的程序框架,它提供了可重用的自动化测试模块,提供最基本的自动化测试功能(打开浏览器,输入文字,点击按钮),或提供自动化测试执行和管理功能的架构模块(例如,TestNG)。它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。

  2. 自动化框架常见的模式:
    (1)数据驱动测试框架:使用数组、文件或者数据库等方式作为测试过程输入的自动化测试框架,此框架可以将所有的测试数据在自动化测试执行的过程中进行自动加载动态判断测试结果是否符合预期,并自动输出测试报告
    (2)关键字驱动测试框架: 被操作的元素对象、操作的方法和操作的数据值作为测试过程输入的自动化测试框架。(存在于UFT工具中)可以保存在数组、文件或数据库中。
    在这里插入图片描述
    (3)混合型测试框架(页面对象+数据驱动+关键字驱动)
    (4)行为驱动测试框架:是一种敏捷软件开发技术,Behavior Driven Development。Cucumber是实现BDD开发模式的一种测试框架,实现了自然语言来执行相关联的测试代码的需求。在此留下两个链接,用到时,可以参考
    链接1
    链接2
    在这里插入图片描述

  3. 自动化测试框架的作用:
    (1)能够有效组织和管理测试用例
    (2)将基础的代码封装,降低测试脚本编写的复杂性和重复性
    (3)提高测试脚本维护和修改的效率
    (4)自动执行测试脚本,并自动发布测试报告,为持续集成的开发方式提供脚本支持
    (5)让不具备编程能力的测试工程师开展自动化测试工作

  4. 自动化测试框架的核心思想:
    将常用的脚本代码或者测试逻辑进行抽象和总结,然后将这些代码进行面向对象设计,将需要复用的代码封装到可公用的类方法中。
    通过调用公用的类方法,测试类中的脚本复杂度会被大大降低,让更多脚本能力不强的测试人员来实施自动化测试

  5. 自动化测试框架的步骤:
    (1)根据测试业务的手工测试用例,选出需要自动化的用例(例如:冒烟测试)
    (2)根据可自动化执行的测试用例,分析出测试框架需要模拟的手工操作和重复高的测试流程或逻辑
    (3)将重复高的测试流程在代码中实现,并进行封装
    (4)根据业务的类型和本身的技术能力选择数据驱动测试、关键字驱动测试框架、混合型框架还是行为测试框架
    (5)确定框架类型后,将框架中的常用的浏览器选择、测试数据处理、文件操作、数据库操作、页面元素的原始操作、日志和报告等功能进行方法的封装实现
    (6)对框架代码进行集成测试和系统测试,采用PO模式和TestNG框架编写测试脚本,使用框架进行自动化测试,验证框架的功能是否可以满足自动化测试的需求。
    (7)编写自动化测试框架的常用API,以供他人参阅
    (8)在测试组中内部进行培训和推广
    (9)不断收集测试过程中的框架使用问题和反馈意见,不断增加和优化自动化框架的功能,不断增强框架中复杂操作的封装效果,尽量降低测试脚本的编写复杂性
    (10)定期评估测试框架的使用效果,评估自动化测试的投入和产出比,再逐步推广自动化框架的应用范围

自动化框架的实现

  1. 自动化框架的构成
    (1)utils包:实现测试过程中调用的工具类方法,例如:文件操作、 mapObject、页面对象的操作方法
    (2)appModules包主要用于实现复用的业务逻辑封装方法
    (3)pageObjects包:用于实现被测试的页面对象
    (4)testCases 包 :具体的测试方法
    (5)dataprovider包:提供数据驱动的类,txt驱动,excel驱动,数据库的驱动

  2. 对象库:使用属性文件存储被测试页面上的元素的定位方式和定位表达式,做到定位数据和定位程序的分离。

  3. 封装操作表格的共用类。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:16:21  更:2022-05-06 11:16:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:22:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码