-
UI自动化测试框架是应用于自动化测试的程序框架,它提供了可重用的自动化测试模块
,提供最基本的自动化测试功能(打开浏览器,输入文字,点击按钮),或提供自动化测试执行和管理功能的架构模块(例如,TestNG)。它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
-
自动化框架常见的模式:
(1)数据驱动测试框架:使用数组、文件或者数据库
等方式作为测试过程输入的自动化测试框架,此框架可以将所有的测试数据在自动化测试执行的过程中进行自动加载
,动态判断
测试结果是否符合预期,并自动输出测试报告
。
(2)关键字驱动测试框架: 被操作的元素对象
、操作的方法
和操作的数据值
作为测试过程输入的自动化测试框架。(存在于UFT工具中)可以保存在数组、文件或数据库中。
(3)混合型测试框架(页面对象+数据驱动+关键字驱动)
(4)行为驱动测试框架:是一种敏捷软件开发技术
,Behavior Driven Development。Cucumber
是实现BDD开发模式的一种测试框架,实现了自然语言
来执行相关联的测试代码的需求。在此留下两个链接,用到时,可以参考
链接1
链接2
-
自动化测试框架的作用:
(1)能够有效组织和管理测试用例
(2)将基础的代码封装,降低测试脚本编写的复杂性和重复性
(3)提高测试脚本维护和修改的效率
(4)自动执行测试脚本,并自动发布测试报告,为持续集成的开发方式提供脚本支持
(5)让不具备编程能力的测试工程师开展自动化测试工作
-
自动化测试框架的核心思想:
将常用的脚本代码或者测试逻辑
进行抽象和总结,然后将这些代码进行面向对象设计,将需要复用的代码封装到可公用的类方法中。
通过调用公用的类方法,测试类中的脚本复杂度会被大大降低,让更多脚本能力不强的测试人员来实施自动化测试
-
自动化测试框架的步骤:
(1)根据测试业务的手工测试用例,选出需要自动化的用例(例如:冒烟测试)
(2)根据可自动化执行的测试用例,分析出测试框架需要模拟的手工操作和重复高的测试流程或逻辑
(3)将重复高的测试流程在代码中实现,并进行封装
(4)根据业务的类型和本身的技术能力选择数据驱动测试、关键字驱动测试框架、混合型框架还是行为测试框架
(5)确定框架类型后,将框架中的常用的浏览器选择、测试数据处理、文件操作、数据库操作、页面元素的原始操作、日志和报告等功能进行方法的封装实现
(6)对框架代码进行集成测试和系统测试,采用PO模式和TestNG框架编写测试脚本,使用框架进行自动化测试,验证框架的功能是否可以满足自动化测试的需求。
(7)编写自动化测试框架的常用API,以供他人参阅
(8)在测试组中内部进行培训和推广
(9)不断收集测试过程中的框架使用问题和反馈意见,不断增加和优化自动化框架的功能,不断增强框架中复杂操作的封装效果,尽量降低测试脚本的编写复杂性
(10)定期评估测试框架的使用效果,评估自动化测试的投入和产出比,再逐步推广自动化框架的应用范围