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. 封装操作表格的共用类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xuhx&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值