测之重器——自动化测试框架搭建指南(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-15 09:15:39

点击下载

作者:张俊卿

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

测之重器——自动化测试框架搭建指南

测之重器——自动化测试框架搭建指南试读:

前言

自动化测试在国外已经实施多年,很多软件公司都有自己的自动化测试系统,且很多测试系统都建立在自己的自动化测试框架的基础上。自动化测试在一个公司能否实行下去,其框架的优劣是最重要的一环。

本书主要讲解如何基于开源框架FitNesse搭建自动化测试框架。在本书中,不会讲解如何使用XPath,以及如何编写SQL等知识,只会讲解以下四大部分。

1.基于笔者已经搭好的框架讲解如何编写测试案例、定义编写测试案例的格式、使用Scenario组织可以被重用的测试步骤、编写数据库和Web Service的测试案例、组织Test Suite。通过对以上问题的学习,读者可以对自动化测试有一个清晰的认识。

2.讲解如何搭建自动化测试框架,以及编写组件来满足公司的测试需求。笔者会讲解四大组件的构建,即基于Selenium的页面测试组件、基于SQL的数据库测试组件、最近比较火的MongoDB测试组件,以及测试Web Service的Rest组件。通过学习这四个组件的构建,读者可以掌握如何编写其他组件来满足公司的其他测试需求。

3.讲解如何构建集成测试。笔者会讲解FitNesse测试框架如何与Jenkins集成、如何使用Jenkins自动运行测试案例、如何在Jenkins上展示测试报告并发送邮件通知相关责任人。

4.讲解分布式测试系统的构建。笔者会讲解如何同时使用多个服务器执行测试案例,从而大大节省案例运行时间。

在四大部分讲解完毕后,会有三章实践章节,详细讲解如何把自动化测试应用到RESTful、云计算、手机应用项目中。

本书读者需要有一定的Java基础知识。良好的Java基础知识能帮助我们快速解决开发过程中遇到的问题。第1章认识测试案例

本章是开篇第一章,在这一章中,我会用我已经搭好的框架讲解如何编写测试案例,如何定义编写测试案例的格式,如何使用Scenario组织可以被重用的测试步骤,如何编写数据库和Web Service的测试案例,如何组织Test Suite,希望大家读完本章后能对自动化测试有个清楚的认识。1.1第一个测试案例

本节讲解如何使用qing-automation框架编写测试案例。首先进入下载页https://git.oschina.net/xhyspring/qing-automation,单击“ZIP”按钮,如图1-1-1所示。代码下载完成后,解压zip包。

图1-1-1 下载qing-automation框架

接下来准备启动项目。在启动项目之前,确保电脑已经安装了JDK7和Ant。

1.安装JDK7。下载JDK7,单击“安装”,然后一直单击“Next”按钮,当JDK7安装完毕后,就可以设置环境变量了。(1)右击“我的电脑”,选择“属性”→“高级”→“环境变量”,如图1-1-2所示。

图1-1-2 设置环境变量(2)在“系统变量”下单击“新建”按钮,弹出“编辑系统变量”对话框,变量名设置为JAVA_HOME,如图1-1-3所示。

图1-1-3 设置JAVA_HOME(3)设置Path,方法同上。在Path变量值的最前面加上%JAVA_HOME%\bin。若已有Path项,则无须新建,直接加在后面即可,但需用英文分号“;”与前面已有项分隔开,如图1-1-4所示。图1-1-4 设置Path

2.下载Ant。下载地址:http://ant.apache.org/bindownload.cgi,在图1-1-5所示区域下载。

图1-1-5 下载Ant

下载成功后解压,接下来设置环境变量。(1)右击“我的电脑”,选择“属性”→“高级”→“环境变量”。(2)在弹出的“环境”对话框中的“系统变量”下,单击“新建”按钮,输入变量名:ANT_HOME,变量值:D:\apache-ant-1.9.2-bin\apache-ant-1.9.2(这是我的Ant解压后所在路径)。(3)在“系统变量”下,单击“编辑”按钮,输入变量名:Path,在变量值后加上“.;%ANT_HOME%\bin;”。

当环境变量设置好以后,打开CMD,运行Java-version和Ant-version两个命令,如图1-1-6所示,代表JDK和Ant都已安装成功。图1-1-6 JDK和Ant安装成功

然后,在CMD中把路径切换到项目所在文件夹。如果项目所在文件夹是D:\FitNesse\git\qing-automation,那么在CMD里运行“cd D:\fitnesse\git\qing-automation”,回车,接着运行Ant run命令,如图1-1-7所示。图1-1-7 运行Ant run命令

当图1-1-8所示信息被展示在CMD后,即表示项目已启动成功。图1-1-8 Ant run启动成功信息

打开浏览器,在地址栏里输入“http://localhost:8001”,项目的主界面终于揭开神秘的面纱,展现在我们面前了,如图1-1-9所示。图1-1-9 项目主界面

单击“DemoSuite”选项,进入Demo中的Suite页面,可以看到有两个子目录:Set Up和Verify Baidu+(MustPass),如图1-1-10所示。打开“SetUp”,里面显示的是导入后台Java代码的包路径,如图1-1-11所示。

图1-1-10 展示DemoSuite图1-1-11 导入后台Java代码的包路径

打开“Verify Baidu”,页面将展示如图1-1-12所示的测试脚本。图1-1-12 第一个测试脚本

运行测试脚本,步骤如下。

1.安装Firefox 26.0版本。可到http://download.csdn.net/detail/xhyspring/7477967下载,注意不能安装最新版本,也不能让Firefox自动升级,因为本项目Selenium不支持高版本Firefox。安装界面如图1-1-13所示,单击“Customer”选项进行安装。图1-1-13 安装Firefox注意事项一

注意,不能勾选如图1-1-14所示选项,如果勾选此处,那么Firefox会自动升级。图1-1-14 安装Firefox注意事项二

如果你的系统是WIN7的话,那么还需要多加一个操作。

打开Firefox浏览器,选择“工具”栏中的“选项”按钮,在弹出的“选项”框中,单击“高级”按钮,并选择“更新”选项,勾选下面的“不检查更新”,然后确定并退出,如图1-1-15所示。图1-1-15 安装Firefox注意事项三

2.单击图1-1-16左上角的“Test”按钮,Firefox浏览器会自动弹出,并打开百度页面,然后查询关键字。这就是此框架在自动运行测试脚本。图1-1-16 点击Test按钮执行脚本1.2认识FitNesse

在上一节中,当打开FitNesse项目页面时,大家有没有留意左上角的图标?其上边显示的FitNesse是什么呢?我们可以搜索FitNesse关键字,进入FitNesse官网,一行字迎面扑来:

The fully integrated standalone wiki and acceptance testing framework

这句话我们可以理解为:FitNesse是一个测试框架,并且是一个可以像编写Wiki一样编写Test Case的自动化测试框架。

下面作者还煽情地说:“FitNesse多么简单易用,不论你是开发,还是测试,甚至是客户,更甚者是在大家心目中永远只会喝酒桑拿一路向西的老板,都会用FitNesse写Test Case。”作者还在使用者必备技能的页面(http://FitNesse.org/FitNesse.UserGuide.Project DeathByRequirements)中动情地说——“用FitNesse的人最重要的一项技能是:懂得人类交流的自然语言。”

近年来,FitNesse是一款在敏捷自动化测试中异军突起的BDD开源框架。它和其他(Cucumber、RobotFramework、SpecFlow、JBehave) BBD敏捷框架一样,都有一个共同的特点:以贴近自然语言为主,用自定义的类自然语言去实现能自动化运行的案例测试脚本。既然敏捷自动化测试框架都有这个特点,那么,为什么不选用Java、C等语言去编写案例测试脚本呢?对于这个问题,我还是用我的亲身经历回答吧。

2010年,我从无锡辞职来到我心目中的程序员圣地——上海,进入了一个外国胖子开的外包公司,并加入此公司最伟大的Bench组。所谓Bench,就是预备被项目组挑选。一天,一个长得像周笔畅的胖胖的男人(以下简称男周笔畅)把我叫去,告诉我,他们组准备做自动化测试框架,问我有没有兴趣。我顿时感到兴趣盎然!之前都是别人搭好框架让我在框架里写代码,现在居然让我去做框架,我双眼饱含终于遇到明主的泪水说:“我,有兴趣”。

然后我就加入了这个组,这时我才知道我进去的是测试组,里面好多漂亮MM。同我一起进去的共有五个小伙子,其中一人是我们的Leader。进去之后才知道,让我们做框架纯粹是哄骗我们的,其实是让我们进测试组编写自动化运行脚本。

那些漂亮的测试MM为什么不写呢?因为那些自动化脚本必须要用Java语言去写!

现在回想起来,那时的日子真是激情燃烧的岁月,那些漂亮MM写好测试流程,然后坐在我们旁边演示测试步骤,我们天天研究怎么用XPath去取各种各样的页面元素,然后去编写一个又一个的测试脚本。这时候男周笔畅再次闪亮登场,让我们去做一件事:推翻原来那个必须用Java语言编写脚本的测试框架,重新做一个自动化框架。

原来那个框架是美国总部一个印度朋友做的。他做好这个必须要用Java语言去编写脚本的自动化框架后,就积极地向他的Boss宣传此框架的好处:越多的测试脚本,越少的测试人员。

测试人员恨他入骨。

为了完成这些脚本,总部又招了一大堆能编写这种脚本的开发人员。这些开发人员基本不懂业务流程知识,只懂Java。

我们开始雄心万丈地做自动化框架,并且写出了一个可以让测试人员用XML写脚本的框架。但是,Leader不让我们把这个框架推出去,因为那时候我们归那个印度朋友管了。

后来,美国总部也对这个印度朋友的框架不满,把这个印度朋友撵走了,重新招人开发出了一个可以在各种各样的页面表单上输入数据,最终完成自动化运行的测试框架。

再后来,我们五个都离开了这个部门。

其中一个小伙离开的时候说:“作为一个开发人员,我认为写Test Case不能体现出我的价值。这些应当是由测试人员去编写的,我还是应该多学学Java技术。”

这也是我为什么推荐BDD(行为驱动开发)框架的原因,它能让测试人员非常容易地编写脚本,开发人员只需负责框架开发就行。所以本书选用FitNesse这种BDD框架来讲解自动化测试框架的开发。1.3用Scenario去组织你的测试步骤

闲话少说,接下来继续讲述如何编写测试案例,本节将讲解使用Scenario组织测试案例的步骤。

打开如图1-3-1所示的DemoSuite页面。图1-3-1 打开DemoSuite页面

进入Verifybaidu Use Scenario案例,单击Step implementations,如图1-3-2所示。图1-3-2 单击Step implementations

如图1-3-3所示,显示了一个个定义好的scenario,显而易见,这些scenario只是把某些步骤组合在一起以便调用。图1-3-3 scenario展示

图1-3-4中的这段代码显示如何调用scenario。图1-3-4 scenario调用展示

单击“Test” 按钮,看看是不是和第1.1节中自动化运行的脚本是一样的效果。

运行完成后,运行报告非常直观地展示了scenario调用的情况,如图1-3-5所示。图1-3-5 测试结果展示

如何让其他测试脚本也调用这些scenario呢?

打开Verifybaidu Use Organized Scenario脚本,点开图1-3-6所示的Scenario Includes。图1-3-6 点开Scenario Includes

展示如图1-3-7所示的页面。图1-3-7 Scenario Includes展示

注意:FrontPage.ScenarioCatalog.BaiduScenario.GivenBrowserOnBaiduScenario代表GivenBrowserOnBaiduScenario所存的路径,我们在首页单击ScenarioCatalog,就会看到所存的Scenario。

那么,这些Scenario是如何引进测试案例中的呢?

在Verifybaidu Use Organized Scenario案例中,单击左上角的“Edit”按钮。可以看到如图1-3-8所示的脚本,被圈出的地方展示了如何把Scenario从其他地方引入你的案例中。图1-3-8 Scenario引入语句1.4来写第一个测试案例吧

刚才说了一些基本的例子,这些例子是基于页面测试的,那如何编写一个案例去测试页面呢?下面展示用“录制—回放”的方法编写测试案例。

1.安装Selenium IDE插件

打开Firefox浏览器,进入Selenium IDE插件安装页面:http://docs.seleniumhq.org/download/,单击图1-4-1圈出部分。图1-4-1 安装Selenium IDE

2.安装Selenium-xebium-formatter插件

此插件用于把Selenium IDE录制的结果转换成FitNesse可执行的语言。可单击图中相应的链接进行安装。或者进入Xebium的安装须知页面:http://xebia.github.io/Xebium/#installation,单击图1-4-2标注的地方进行安装。图1-4-2 安装Selenium-xebium-formatter插件

Xebium是什么?看样子和FitNesse有些关系。别着急,在第2章开发测试组件中会介绍它。

3.录制脚本

在Firefox浏览器中,选择Tools→Selenium IDE,在弹出的应用中,单击红色的录制按钮,如图1-4-3所示。图1-4-3 录制脚本

接着,在Firefox浏览器中进行以下三步操作:

1.打开百度首页。

2.输入FitNesse关键字。

3.点击“百度一下”按钮。

你会看到Selenium IDE已经把操作记录下来了,如图1-4-4所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载