开源Web自动化测试指南计算机软件与应用IT计算机专业资料.docx

上传人:叶*** 文档编号:35076653 上传时间:2022-08-20 格式:DOCX 页数:37 大小:956.91KB
返回 下载 相关 举报
开源Web自动化测试指南计算机软件与应用IT计算机专业资料.docx_第1页
第1页 / 共37页
开源Web自动化测试指南计算机软件与应用IT计算机专业资料.docx_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《开源Web自动化测试指南计算机软件与应用IT计算机专业资料.docx》由会员分享,可在线阅读,更多相关《开源Web自动化测试指南计算机软件与应用IT计算机专业资料.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、开源Web自动化测试指南计算机软件与应用IT计算机专业资料开源自动化测试实施指南说明: 1. 本文件中“”中内容为举例和说明文字,请在文件拟制时替换或删除;2. 若文中某章节内容可省略、不需要或适用,请保留该标题,并根据实际在内容部分写明“略”、“勿需”或“不适用”等,同时适当说明原因;3. 请作者注意在文档右上角修改该文档的密级。文件修订历史修订时间修订说明作者审核2011-8-5创建目录岑海菊温素剑2011-8-17章节1、2、4、岑海菊温素剑章节3李颖、陈建红、岑海菊温素剑章节5李颖温素剑模板修订历史版本生效时间变更概要作者审核批准1.0.02011-8-5创建自动化测试方法文档岑海菊3

2、7 / 37目录1引言及概述41.1背景41.2开源自动化测试的优势41.2.1简介41.2.2的优势42开源自动化测试架构62.1基于 2.0的自动化测试框架62.2新自动化测试代码架构73自动化测试编写83.1集成开发环境搭建83.1.1选择底层实现方法83.1.2配置93.1.3项目环境配置103.2测试案例编写133.2.1语法143.2.2介绍143.2.3测试案例框架164管理测试案例194.1测试工程目录结构194.2使用运行测试案例204.2.1介绍204.2.2基本语法204.2.3输出测试报告样式214.2.4 214.3使用管理自动化测试任务224.3.1介绍224.3.

3、2任务创建224.3.3任务执行244.3.4执行结果查看245数据管理255.1.1自动化测试流程图255.1.2连接数据库代码范例265.1.3数据回滚脚本285.1.4数据初始化脚本285.1.5配置文件管理296疑难手册31附录A 2.0常用命令32附录B案例文件、配置文件32附录C使用及培训资料321 引言及概述1.1 背景目前是我司使用最广泛的自动化测试工具,在实际使用中发现,存在以下不足之处:1) 基于测试对象库来识别测试对象,其内部机制是不透明的,在实际工作中,对测试对象库的维护工作量很大,耗费了测试人员大量的精力,效果却并不好;2) 的设计架构决定了当前测试脚本可复用性差,很

4、难积累可重复使用的函数、组件、包等测试资产;3) 使用的描述性编程来创建测试脚本,严重依赖于测试人员的个人经验和技巧,难以大规模推广;4) 自动化测试数据经常失效,原因在于没有统一的数据回滚措施。 基于商业自动化测试工具的录制/回放模式,无法构建健壮的自动化测试脚本,所以我们迫切地需要新的工具来替换。当前有多种开源自动化测试工具可供选择, 2.0 便是目前使用最广泛的开源测试工具之一。1.2 开源自动化测试的优势1.2.1 简介是一系列基于的自动化测试工具。提供了一系列测试函数用于支持自动化测试,这些函数非常灵活,他们能够通过多种方式定位元素,并将预期结果及系统实际表现相比较,测试人员通过这些

5、测试函数来模拟用户操作,从而实现自动化测试。 2.0集成了 ,解决了 1.0的局限,二者相互弥补,提供了更多可选的编程接口。1.2.2 的优势的测试对象库,对及测试人员来说是不透明的。图1-1为构建自动化测试脚本的流程,在使用录制测试脚本的时候,测试人员根本不清楚测试对象库中的测试对象是否有效,能否满足需求,这给使用者带来很大的困扰。图 11构建自动化测试脚本的流程 2.0具有很强的灵活性和很好的扩展性,测试人员从页面数据中提取对象,引入测试逻辑构建测试脚本。通过这样的方式,测试人员能够确保测试对象的有效性,对测试对象的维护也更容易。图 12构建 2.0自动化测试脚本的流程对比和2.0构建自动

6、化测试脚本的流程图,我们可以发现,不再基于录制/回放模式来创建自动化测试脚本,弥补了的不足:1) 开源测试工具识别测试对象的机制是透明的,可以减少测试人员的维护工作量;2) 采用开源测试工具,可以将需要重用的测试代码打包到中。后续计划引入配置管理,保证可重用包的质量;3) 采用语言来编写测试脚本,在测试对象识别得到保证的前提下,这并不是一件充满技巧性的工作; 4) 针对自动化测试数据经常失效的问题,新渠道目前的做法是将恢复测试数据的放在定时中,在自动化测试运行前恢复相关测试数据。除此之外, 2.0在很多方面都优于,如表1-1所示。表 11 及 2.0的对比对比项(商业) 2.0(开源)购置成本

7、昂贵免费免费测试对象识别机制不透明透明透明编码语言等多种语言代码可重用性低高高脚本维护工作量高低低是否支持录制/回放模式是是(功能较弱)否执行效率低一般高测试脚本是否支持配置管理不支持支持支持是否支持订制否是是2 开源自动化测试架构2.1 基于 2.0的自动化测试框架图2-1是基于 2.0的自动化测试的整体框架(虚线代表尚未实现的功能):步骤1:在开发人员提交代码后,持续集成引擎()会对最新的代码进行编译和部署;步骤2:从配置管理工具()获取测试脚本;步骤3:调用编译测试脚本;步骤4:调用去运行测试案例;步骤5:通过 2.0操作浏览器;步骤6:输出测试报告,并以邮件的形式向测试人员发送自动化测

8、试结果。图 21新自动化测试整体框架2.2 新自动化测试代码架构基于 2.0的自动化测试,每个测试案例就是一个 。测试案例,由测试数据和测试逻辑两部分组成。测试逻辑最底层的实现是2.0库,通过抽象和扩展出类。测试人员通过调用类的方法,来构建测试逻辑。关于测试数据,请参考第5章数据管理。图 22 新自动化测试代码框架3 自动化测试编写3.1 集成开发环境搭建3.1.1 选择底层实现方法前面提到, 2.0集成了的,因此我们首先需要选择底层的实现方法是还是。二者对比如表3-1所示,提供了丰富的方法,支持多种浏览器,可以满足各种各样的测试逻辑需求,所以,一般情况下优先选择。但有些系统比较特殊,某些功能

9、无法支持,此时可考虑使用。提供的方法虽不及多(如截屏等功能),但是也基本能满足系统的要求,最主要的是它的执行速度非常的快,这点是所望尘莫及的。总而言之,还是要根据系统的实际情况,选择合适的实现方法。表 31 及的对比对比项编码语言等多种语言是否支持录制/回放模式是否执行效率一般高支持的浏览器、提供的测试方法多基本3.1.2 配置新标装的电脑,配置已经完成,请按照下述步骤检查配置是否正确:步骤1:设置电脑环境变量:我的电脑(右键) 属性 高级 环境变量 (系统变量)新建 ,进行如下编辑:变量名:变量值(安装的目录):C: 1.6.0_20 步骤2:设置电脑环境变量:我的电脑(右键) 属性 高级

10、环境变量 (系统变量)新建,进行如下编辑:变量名:变量值(安装的目录):;步骤3:在中配置点击菜单中 ,配置如图3-1。图 31 中配置图3.1.3 项目环境配置1) 新建项目(参见图3-2) (参见图3-3) (项目名,参见图3-4)(参见图3-5)图 32图 33输入创建的工程名字图 34图 352) 导入自动化测试的包和相应的库 (参见图3-6) 加入(参见图3-7)图 36图 37从官网上下载的,包含了2.0b3、2.0b3和,其中2.0b3是源文件的包,不需要导入工程,其他包都要导入。所有需导入工程的包已整理在0 2.0中,详细说明如下:a) (参见3.1.1章节,根据选择的实现方法

11、加入对应的包);b) 加入2.0b3;c) 加入2.0b3文件夹下里面的所有;3) 新建包在包文件夹下面建立一个属于自己系统的自动化测试的包。包()的命名规范:全部小写,测试代码为.。例如:。选中资源包右键单击(参见图3-8)()(参见图3-9)图 38图 393.2 测试案例编写3.2.1 语法提供了一套丰富的命令来测试你的应用,这套命令通常叫。 它可以用于测试基于标签的页面元素,例如:链接,输入框,下拉框,提交表单,表格数据等。(具体常用命令可以参见附录A)命令调用格式主要包括三部分:(命令)、(目标)、(值),下面通过个简单的例子说明:();此命令的目的是输入登陆用户名,具体解析如图 3

12、10所示:(命令) (目标) (值) 例1 图 310 命令调用格式图命令可以转变为编程代码,他可以同时支持包括、在内的多种语言,这里我以语言为例举一个简单的例子。这是一个系统登陆的案例,实现的功能包括:打开登陆界面-输入登陆用户名、密码-点击登陆。通过这个案例我们可以很容易的理解如何运行命令,同时细心的人应该注意到了,在命令中(目标)或者(值)有时是可以省略的(例如:、. )。 () = 115;登陆用户名 = 88888;登陆密码();打开登陆界面(30000); 等待页面加载();输入登陆用户名();输入登陆密码();点击登陆按钮(60000); 等待加载界面(); 关闭3.2.2 介绍

13、 是一门在 文档中查找信息的语言。 用于在 文档中通过元素和属性进行导航。它包含一个标准函数库,使用路径表达式来选取,这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。用技术来记录网页元素的位置和属性。下面通过个简单的例子说明:在这个案例中我们要做的操作是选择查询结果中的第一条数据,系统界面图和代码解析图见图3-11和图3-12。路径为11。图 311 系统界面图图 312 代码解析图解析如下:1) 路径以双斜线 开头, 则表示选择文档中所有满足双斜线之后规则的元素(无论层级关系),即寻找下面所有满足此路径条件的数据。2) 前缀 用于指定属性,则表示在下面查询到满足的数据,如图3

14、-13 。图 313 代码解析图3) 以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径,在此案例中11则表示选择在下面第一行第一列的数据,如图3-14。图 314 代码解析图3.2.3 测试案例框架的开发提供的是3风格的,所以我们的自动化测试案例要符合3的框架。3的测试案例,包括三个部分:测试方法*()、初始化函数()和结束初始化函数()。这三者的执行顺序是:()*()()。此外,3在命名规范和继承层次上有严格的要求:1) 测试类测试类必须继承。是的子类,所以在新建的测试类直接继承即可。2) 测试方法测试方法必须是,且以开头。为了使命名更为规范,测试方法名应及测试案例的功能模块相关,如

15、:测试保单查询功能的测试方法写为()。3) 初始化函数测试案例中,必须包含初始化函数()和()。()执行在测试方法之前,我们统一将初始化浏览器,登陆测试系统的操作放在这一函数中,在每次测试方法运行前执行。()函数中统一放置关闭浏览器的操作,在测试方法之后执行,结束当前测试案例。新建测试案例的步骤如下:选中新建的右键 (参见图3.15)(参见图3.16)图 315图 316建好的,会提示“ ”,根据提示增加“()”,忽略类已过时的警告。接下来完善我们的测试案例,根据命名规则,新建测试方法,重写()和(),详见模板文件。步骤简单介绍如下:1) 创建类的对象 = ();2) 重写()()需要完成的初

16、始化和测试系统的登陆。相关参数均从配置文件中读取(参见第5章,数据管理),范例如下: () 变量赋值 = ;配置文件名 = (, ); = (, );端口号 = (, );浏览器 = (, );基本 = (, );扩展 = (, );登陆用户名 = (, );登陆密码测试初始化(, , , );初始化(, , );系统登陆上面的范例是基于的,如果是基于,在初始化的时候,只需要传参数,其他参数不用传,如:(, , 0, );初始化3) 重写() () ();关闭浏览器,结束测试4) 新建测试方法在不同的测试案例中,除了测试方法,其他基本大同小异。编写测试方法的时候,要以测试逻辑为依据,并结合命令

17、去实现测试逻辑。以的名单批次查询为例,测试方法编写如下:/* * 测试方法 * */ () = 2;一级菜单 = 名单批次查询;二级菜单 = ;名单批次 = 查 询; 查询按钮 = 01;查询结果 2-03-201103 ;批次名称 1 = (10, , 1);验证菜单是否存在();点击 “名单管理”();点击 “名单批次查询”();();点击查询按钮(, ();至此,一个测试案例就完成了,参照图3.17运行测试案例。需要注意的是,如果使用的底层实现方法是,要先启动 ,启动命令如下: 图 317 4 管理测试案例4.1 测试工程目录结构单个测试案例调试完毕之后,需将案例放到执行机下的固定目录,

18、统一运行和管理测试案例集。现在我们使用的方案是通过调用,完成测试案例的编译和运行。如图4-1,这是一个被测系统在执行机上必须要有的文件和文件夹:测试案例源文件,直接复制 工程下的测试案例文件,后续将会统一从配置管理工具()上取得。:需要用到的外部包和配置文件,即在中加载到中的所有包和文件:输出的测试报告样式,待功能完善后,不需要输出测试报告,则该文件夹可以取消。样式模板详见:测试报告样式模板。:的脚本文件,一般不作修改。:配置的测试脚本,可以根据实际的目录修改。模板详见:脚本文件模板图 414.2 使用运行测试案例4.2.1 介绍 ,是一个基于的跨平台构建工具,作为一个优秀的构建工具有如下的优

19、点:1) 跨平台 因为是使用实现的,所以它跨平台;2) 使用简单及的兄弟比起来;3) 语法清晰同样是和相比。下载地址: 4.2.2 基本语法1) 的编译文件默认为,一般无需改变。2) 的根节点为,一般格式如下:为工程名称;为默认的,就是任务;就是基路径。一般为.3) 可以定义变量,一般格式如下:引用的时候这么引用$如果变量是路径的话,则可以这么定义:4) 定义: 的值为的名称,可以在编译的时候指定是完成哪个, 否则采用那里定义的。 则定义了依赖关系,值为其他的。多个依赖关系用,隔开, 顺序执行完定义的依赖关系,才会执行这个。 在中定义的顺序无所谓,但是中的顺序必须正确。5) 构建文件包括元素,

20、以及其中嵌套的、 和 元素,下面是一个通用的构建文件,它很适合作为一个模板。关于构建文件的注意事项: 所有构建文件都要有元素,而且至少有一个 元素; 对于 元素的 属性并没有默认值; 构建文件并不一定要被命名为。不过 是 要搜索的默认文件名; 每个构建文件只能有一个 元素。4.2.3 输出测试报告样式将文件夹下,测试报告样式模板中的“”全部替换成当前测试系统名称即可。4.2.4 的配置文件的结构很简单,这也是的一个优点,简单易懂,容易上手,的配置文件主要由,和三层树型结构组成。一般情况下,工程中的不需要修改,只需要根据当前的目录,修改配置文件即可。我们用到的,其中包含了4个任务(),分别是、,

21、且按顺序执行,每个的实现,请结合4.2.2基本语法参看模板文件()。:完成初始化;:完成测试案例的编译;:运行测试案例,并生成测试报告;:清理测试数据。测试人员可根据执行机上的实际目录修改配置文件。中有6个参数, 如下:测试案例目录;测试报告样式目录;引用外部包和配置文件目录;执行机本地生成的测试报告目录;编译后的测试案例目录;是否在使用监控();4.3 使用管理自动化测试任务4.3.1 介绍(原)是一款平台的开源持续集成( ,)引擎。它易于安装,配置简单,丰富的插件支持,高度的可扩展性,强大的分布式构建能力都让它在众多的引擎中脱颖而出。所以我们选用来管理测试案例,以便以后进行持续集成。4.3

22、.2 任务创建在中创建任务的步骤如下:1) 登陆: (此地址后续可能会更改);2) 新建任务,根据测试系统填写任务名称,选择构建一个多配置项目,点击(参见图4-2);图 423) 选择执行机: 勾选执行测试案例的执行机(参见图4.3、图4.4)图 43图 444) 选择构建方式: (参见图4.5):文件中的 :执行机上的路径(参见图4.6)。图 45图 465) 选择打印输出结果: :/*/*(参见图4.7)图 474.3.3 任务执行选中建好的任务(),点击立即构建,即可运行测试案例(参见图4.8)。图 484.3.4 执行结果查看案例执行完之后,可以通过执行状态,查看执行结果。任务状态及描

23、述如图4.9。图 49在案例执行的时候,也可进入构建状态,通过查看命令行输出,进行测试案例的监控。参加图4.10。图 4105 数据管理5.1.1 自动化测试流程图自动化测试的过程包括:测试数据准备、测试脚本运行、生成测试报告;其中测试数据准备包括两个步骤:连接数据库、数据回滚脚本的运行,如图5-1所示。图 51 自动化测试流程图5.1.2 连接数据库代码范例的数据库操作,需要先建立连接,然后在中执行查询、更新、插入、删除等操作,并从查询操作中获取数据。代码范例如下: () ; ; ; ; = ; = ; = ; = ; = ; = ; = (, ); = (, ); = (, ); . ()

24、(); = (, , ); (); = (); = (); = (); = (); = (); . = ; () = ();();步骤1:从配置文件中获取登录数据库的连接串,用户名、密码; = ; = (, ); = (, ); = (, );步骤2:加载数据库驱动;()();注:需要加载 的包到的中下载地址: 步骤3:登录数据库; = (, , );步骤4:创建对象; ();步骤5:通过对象执行语句; = (); = (); = (); = (); = ();步骤6:获取测试人员关心的查询结果; = ; () = ();步骤7:关闭数据库连接:();注:如果不关闭数据库连接可能带来一些严重的

25、问题。5.1.3 数据回滚脚本数据回滚脚本的基本原则:数据回滚脚本需将自动化数据回滚到初始化状态;测试人员应该屏蔽系统归档/备份功能对测试数据的影响,例如可以通过修改创建日期使其永远不会被归档或备份;自动化测试新生成的垃圾数据,建议及时清理(如语句),以免造成系统负载过大;建议测试逻辑涵盖测试数据的整个生命周期,例如:案例A:新建测试机构案例B:查询测试机构案例C:修改测试机构案例D:删除测试机构数据回滚脚本应在每次执行自动化测试案例前执行。5.1.4 数据初始化脚本数据初始化脚本的基本原则:1) 自动化测试数据要及手动测试分离,如将自动化测试数据特定到某个特定条件,如某个机构或某天;2) 自

26、动化测试数据的命名应该显著区别于手工测试数据;3) 数据初始化脚本要有备份,以便在数据库发生变更后快速恢复测试数据;4) 数据初始化脚本不需要定期执行,仅在新建测试环境或测试数据库发生变更后执行。5.1.5 配置文件管理1) 配置文件内容范例自动化测试的配置文件用来存放一些参数,例如:登录、用户名、密码等,便于后续维护。配置文件范例如下: 0.0.0.0 4444 001 001 921 123 1024 0001 a) 设置配置文件的类型为,编码格式为8: b) 设置测试系统的登录地址: c) 定义服务器的、端口号、浏览器类型:0.0.0.0 4444 d) 定义登录系统的用户名、密码:00

27、1 001 921 123 e) 测试人员自定义的其他参数:1024 0001 2) 配置文件放置位置步骤1:在自动化测试工程的目录下新建文件夹(如:),并将配置文件放入此文件夹,如图5-2所示。图 52 配置文件放置图步骤2:进入工程的 页面,如图5-3所示。图 53 配置文件放置图步骤3:选择添加“ ”,如图5-4所示。图 54 配置文件放置图步骤4:勾选中新建的文件夹,点击,加载完毕,如图5-5所示。图 55 配置文件放置图6 疑难手册1) 为什么测试脚本会不稳定,单独执行能通过,批量执行的时候就有可能失败的?答:基于的系统,很容易受到外界因素(如网络、部署、性能等)的影响,导致系统运行

28、缓慢,这就要求我们的测试脚本有很强的健壮性。解决办法是在测试脚本中,加上动态等待和动态检测(如()、()),给系统足够的响应时间。2) 弹出的窗口如何处理?答:一般情况下,直接使用()、()等函数可以处理弹出窗口。如果选用的是基于的方式实现,若使用这些函数无效时,可以用其扩展函数()、()。3) 为什么在案例运行的时候,会出现“没有权限”的错误?答:由于浏览器的同源策略,会抛出“没有权限”的错误。解决方法之一是,在抛出错误的函数套上一层()。4) 为什么选择之后,就不能再选其他的了?答:选择后,必须使用“();”,才可以再选择其他。关于的相关介绍,可以查看:5) 2.0在哪里下载?答:可从官网上下载最新版本: 6) 如何启动?答:先从官网上下载,解压到本地。新建一个批处理文件,写入命令: 。如: C: 2.0b3执行案例前启动即可。附录A 2.0常用命令请参看中文:附录B案例文件1) 基于的测试案例2) 基于的测试案例附录C使用及培训资料更多详细信息请参考以下网址:基本操作指导37客户端安装路径开发过程管理规范培训课件使用手册

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁