和一般的软件项目一样,自动化测试框架的开发是由自动化测试需求决定的,这个需求包括:
一、自动化测试更便于实施
二、处理自动化测试脚本本身的存在的问题,如异常处理和场景恢复
三、弥补测试脚本本身的不足或是特殊测试需求
四、测试易于维护
自动化测试过程包括三个要素:输入、输出、预期结果与实际结果的比较。
输入包括测试数据和测试步骤两部分。测试数据可以直接与测试步骤一起直接写在脚本里,也可以独立于代码,通过配置文件或参数的方式传递到测试中。测试步骤是测试脚本的主体,它依赖于软件的行为。软件输入的随意性使软件行为难以确定,这大大提高了编写测试脚本的难度。软件本身存在的缺陷或系统响应时间等问题都可能导致测试脚本执行失败。我们测试中无法考虑到脚本执行过程中所有的异常情况,而这会导致测试脚本执行的不稳定性,因此我们需要针对测试脚本本身做异常处理。
输出,并将其与预期结果比较是自动话测试的另一个重点;相对于输入对软件的依赖,这个过程则是偏向于计算和比较,需要较高的编码能力。在测试项目中,测试结果的获取经常不像手工测试那么容易,而且验证规则比较复杂,有时一个校验点需要数十行甚至几百行代码才能完成。在自动化测试中,很多功能函数是通用的,且对于同一个项目,经常需要重复做这相同的事情。这样,设计一些公共函数对整个脚本的开发工作和维护工作是大有裨益的,不仅可以大大减少编码量,而且可以提高脚本的正确性和可维护性。
因此我们可以通过测试框架为我们做以下事情:
第一、处理脚本中一些异常和错误处理工作;
第二、实现一些通用的功能,简化脚本开发的过程;
然而对于自动化测试,我们不能一个脚本一个脚本的去执行测试,而希望能够自如的部署测试,比如我们选择要执行的用例后,自动化测试框架能够执行相应的用例并给出测试结果。
基于此,我们希望测试框架可以帮我们实现:
第三、根据需求驱动测试执行;
第四、测试场景恢复;
第五、测试结果输出。
当然,我们的需求可能还不止这些,需要测试框架为我们做更多的事情。
为什么要搭建自动化测试框架?
时间: 2024-11-09 00:53:30
为什么要搭建自动化测试框架?的相关文章
一步一步教你搭建自动化测试框架——python篇
这两天用python写了一个自动化测试框架,取名为Auty.准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程—— Auty自动化测试框架第一篇——生成执行列表 Auty自动化测试框架第二篇——读取与执行脚本列表 Auty自动化测试框架第三篇——添加异常处理与日志收集 Auty自动化测试框架第四篇——生成测试结果报告 Auty自动化测试框架第五篇——自动化安装库与配置说明
[转]Android Studio 里搭建自动化测试框架Robotium
Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档里面没有提到怎么在Android Studio里搭建它,后来在Stack Overflow找到个答案:http://stackoverflow.com/questions/23275602/robotium-with-android-studio/23295849#23295849 自己分析了下,要
junit搭建自动化测试框架(一)
这里主要使用Junit搭建一个分层的自动化测试框架.这就是一个有业务逻辑的单元测试的思想.灵活性很大,对测试人员的代码能力要求较高. 以登录QQ邮箱为例,数据源使用了集合接口Map.借鉴了MVC的思想,也分为三层处理: 单元测试层testcase----->单元测试的业务逻辑层business----->页面元素定位层page 当然,这只是一个框架的雏形,大家可以根据自己项目的需要做改善. step1:创建工程 step2:准备工具类:打印日志Log.java 相应的日志配置文档log4j.x
appium+python搭建自动化测试框架_TestAPP框架(三)
Pycharm 创建 Project,搭建 APPTEST框架如下图: 1.框架功能 业务功能的封装 测试用例封装 测试包管理 截图处理 断言处理 日志获取 测试报告生成 数据驱动 数据配置 2. driver封装 config文件夹创建app_config.yaml 文件,存放配置app的配置信息 platformName: Android platformVersion: 5.1.1 deviceName: 127.0.0.1:62001 #mx4真机 #platformVersion: 5
appium+python搭建自动化测试框架_Appium元素定位(二)
1. id定位: self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click() 2. class定位: self.driver.find_element_by_class_name('android.widget.Button').click() (注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了) 3. 相对定位: 相对定位是先找到该元素的有对应属性的父元素节点,然后基于父元素进行元素
appium+python搭建自动化测试框架_Tools安装(一)
1.下载node https://nodejs.org/en/download/, 下载node.js 验证安装: node -v 2.下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?utm_source=androiddevtools&utm_medium=website 配置环境变量: JAVA_HOME jdk安装路径 CLASSPATH
数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索
UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo基于Selenium与Java.由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里这种统治地位应该还会持续,所以我的这篇文章还都是基于Selenium与Java的. 自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网.我们分析一下这段代码都包含些什么东西. 第一,这段代码包
Java+Maven+selenium+testing+reportNG自动化测试框架
最近公司新出了一个产品,需要搭建自动化测试框架,这是一个学以至用的好机会,跟上级申请后,决定搭建一个java自动化测试框架. Java自动化测试对我来讲可以说不难不易,因为java是我大学在校四年学的主要开发语言,但是毕业这么多年没写了难免生疏. weiUI自动化测试需要掌握以下几点:一是获取元素,java获取元素对象与python差不多,用的是findElement方法,不过我在搭建框架过程中为了实现PO模式,从万能的百度中获知还有个一更好的类FindBy,FindBy+PageFactory
基于appium的app自动化测试框架
基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建基础的测试环境,保证可以驱动设备进行操作) 0.准备测试环境 1)安装jdk配置java_home环境变量: 2)安装Android SDK(安卓软件开发包)(adb.appt ) 3)安装nodejs,并通过npm安装appium 1.获取app包名appPackage 在cmd命令行中输入aap