第二章 测试环境搭建

来源:互联网 发布:iphone手机打开php文件 编辑:程序博客网 时间:2024/05/12 14:14

      经过上面的讨论,我们已经窥探到自动化测试的端倪,但是要想写出一个可以运行的自动化测试用例,我们还需要更深入的学习。以下的内容,我们将一步步的来探讨自动化测试的秘密。

   “工欲善其事,必先利其器。”当然自动化测试也不例外,我们用到的工具及语言如下:

(1)Selenium IDE:作为火狐的一个插件,是我们Web自动化测试中必不可少的。

(2)FireBug:火狐的一个插件,帮助我们定位页面元素。

(3)Eclipse:强大的代码编辑工具,相信大家并不陌生。

(4)PyDev:Eclipse的插件,用于编辑Python代码。

(5)Python:我们测试用例的编码语言,请自行学习,本系统教程是不再讲究Python编程的内容。

(6)WebDriver:selenium2.0,Web自动化测试主要框架。

2.1 Selenium IDE

2.1.1 Selenium IDE简介

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IEMozilla FirefoxMozilla Suite等。这个工具的主要功能包括:

Ø  测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。

Ø  测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。

Ø  支持pythonNetJavaPerl等不同语言的测试脚本。SeleniumThoughtWorks专门为Web应用程序编写的一个验收测试工具。

Selenium IDE

  Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。

2.1.2 Selenium安装

方法一,安装Selenium IDE的步骤如下:

Ø  从www.openqa.org/selenium-ide/download.action下载Selenium IDE(一个XPI后缀的文件)

Ø  启动FIREFOX浏览器,打开刚才下载的文件。

Ø  重启FIREFOX浏览器,在工具菜条下应该就可以看到Selenium IDE菜单项。

方法二,从Firefox浏览添加

Ø打开浏览器,打开菜单“工具”à“附加组件”,在打开的页面搜索Selenium

Ø 安装Selenium IDE Button,安装完成的重启浏览器。

Ø 定制工具栏,将Selenium IDE Button拖到工具栏上,然后单击这个Button,按提示安装Selenium IDE,这个时候选择最新的版本即可。

注:Selenium IDE安装完成后,默认打开了所有支持语言的格式,如图2.1.2所示,我们可以禁用到不用的语言项。

2.1.2 Selenium IDE支持的语言格式

2.1.3 Selenium IDE的使用

下面我们将逐步讲Selenium IDE的使用方法:

Ø  安装Selenium IDE。

Ø  启动Selenium IDE:打开“工具”—>“SeleniumIDE”,IDE启动后,弹出如图2.1.3.1对话框:

 

图2.1.3 Selenium IDE对话框

  上图标明了一些Selenium IDE的主要功能。其中,由Command,Target,Value组成的表格就是脚本,每个脚本都是由一条一条的Action(行为)组成,而每个Action又由(Command,Target,Value)三者组成。Command就是《API参考手册》提到的内容,Target指的是Web中的某个对象,比如:文字,输入框等等,如果选取对象呢?呵呵,这里就用到了XPath,不熟悉可以参考《XPath的使用》,后面的课程我们也将会讲到相关内容;而Value就是这个对象的值。

Ø 脚本的录制及运行

     当弹出上面的IDE窗口后,我们就可以开始Selenium的脚本录制了,右上角有个红色的圆点,当它下按时(如上图)就表示IDE正在进行脚本录制。OK,开始录制,录制的时候,直接操作Firefox浏览器窗口就可以了,IDE会自动记录你的操作的,下面我演示一个例子:

(1)打开IDE,在Base URL框内输入你要录制的网站,如:http://www.baidu.com

(2)在地址栏输入:http://www.baidu.com/,登录到百度首页。

(3)IDE打开的时候就是录制状态,如果录制按钮没有按钮,按下该按钮然后刷新页面,在查询框输入“hyddd”。

(4)按“百度一下”按钮,查询结果。

(5)进入搜索结果页面后,右键单击第一条记录(即:hyddd - 博客园),在右键弹出菜单中,单击“Verify TestPersenthyddd - 博客园”。

(6)单击第一条记录(即:进入hyddd - 博客园)

(7)Firefox弹出一个新Tab页面,并进入了我的博客。

OK,现在看看我们的Selenium IDE录制的结果吧!如图2.1.3.2所示:

图2.1.3.2脚本录制结果

    上图中,中间的表格就是录制的结果,你可以按“运行脚本”重新回放脚本看看,值得注意的是,在运行时,Firefox可能会认为脚本中最后一个操作(即:步骤7)为非法弹出框,浏览器会自动阻止其弹出,这个需要设置一下Firefox,具体位置是:Firefox->Menubar->Tools->options->content->Blockpop-up Window,你可以把钩去掉或者在Exceptions里面添加相应的网址。

 到此为止,脚本录制圆满完成!在运行脚本后,你会发现IDE表格的颜色发生了变化,运行前,脚本表格为白色,成功运行完毕后,表格为青色,其中还分为深青色和浅青色两种,浅青色表示:动作成功,如:打开网页成功,点击按钮成功等等,而深青色表示:判断正确,如:“hyddd - 博客园”这段文字在页面中存在等等。

   那如果运行失败会是什么样子呢?现在我们看看出错时的情况吧。如图2.1.3.3所示:

 

图2.1.3.3脚本运行错误的情况

出错时,表格可能会出现两种颜色,一种是浅粉红色,一种是深粉红色。浅粉红色表示判断结果为false,这种情况案例还是会继续执行下去,判断的失败不会影响案例的运行,深粉红色表示动作失败,如:没有找到按钮等(如上图),这种情况下案例会停止运行。

2.1.4 Selenium IDE其他的重要功能

Ø 脚本转化保存

Selenium IDE录制完成脚本后,经过我们回放验证,发现可以达到我们的要求,此时我们最想做的事情就是把脚本转化成我们期望的形式保存来了。

   不要担心,Selenium IDE有这个功能,如图2.1.4.1所示:

图2.1.4.1 导出录制的脚本

  打开“文件”-->“Export Test Case As…”,打开的二级菜单中就是可以转化成的格式。在我们安装Selenium IDE的时候,我们只保存了python和java格式的,而在此只有这两个格式。此时我们需要第一种格式“python2/unittest/WebDriver”,然后在打开的对话框中输入文件名,扩展名输入“.py”,保存即可!

Ø  验证定位方式是否正确

Selenium IDE虽然可以录制脚本,可是在我们使用过程中,如果测试用例是采用模块化编码时,不需要反复录制的。此时,IDE就可以帮我们验证我们的定位方法是否正确。

如图2.1.4.2所示:具体验证方法,我们将在定位页面元素章节讲解。

 

图2.1.4.2 Selenium IDE验证元素定位

2.2 FireBug

2.2.1 FireBug简介

Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、JavaScript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀,从各个不同的角度剖析Web页面内部的细节层面, 给Web开发者带来很大的便利

2.2.2 FireBug的使用

FireBug的安装和使用,可以参考这个文档:http://jingyan.baidu.com/article/fd8044fa97e08c5030137a6c.html,此文档把FireBug的基本使用方法都介绍了一下,还是比较详细的,在此就不一一介绍了!

下面我就把我们自动化测试中对Firebug的应用,以一个实例来简单介绍一下:

Ø  页面元素定位

(1)打开微博,登录一个账号,以本人的账号为例。

(2)查看我的微博昵称“潜龙0318”,在页面HTML编码中的节点,按图2.2.2.1中的步骤所示:

2.2.2.1查看页面元素

步骤讲解:

(a)单击浏览器工具栏上Firebug启动按钮,图中1处,启动Firebug

(b)单击firebug元素查看按钮,图中2处,然后将鼠标移到要定位的元素上,如图中标3处,当昵称“潜龙0318”被框中后,单击鼠标。

(c)此是Firebug HTML标签下显示的内容被选中的内容,就是昵称对应的元素在HTML中的位置,找到这个位置后,我们就可以编写元素定位的方法了。

Ø  定位方法唯一性查找

当我们用Firebug查到一个元素的某个属性值为“feed_list,欲用xpath定位,但是如果这个元素的这个属性在页面中不唯一,而且这个元素不是第一个符合条件的元素时,则会定位失败。所以定位前我们需要查看一下唯一性!

如图2.2.2.2所示:

图2.2.2.2 查找feed_list的结果

Firebug的查找框输入“feed_list,然后单击回车查找。此时就会发现有很多条件条件的元素,证明这个属性值不唯一,所以不能用这个属性值定位。

 

 

2.3 WebDriver Python开发环境搭建

上面是所用到的工具的介绍,下面我们开始着手搭建WebDriver+Pythonwindows下的运行环境。

2.3.1 工具选择

Ø  操作系统:Windows 7 64位。

Ø  Python版本: 选择2.7.X。目前大部分第三方库和工具对2.7都有简单的安装包,不需要自己做太多处理,比2.6内置了一些包,不需要再安装; Python3.x不支持Selenium2.0。

Ø  Selenium版本:python自动安装最新的包,如果手动安装不能低于2.0,因为从2.0开始,Selenium已经和WebDriver集成在一起了,WebDriver提供了非常多的API和自动化测试处理方法。

Ø  脚本开发工具:Eclipse(JDK:选择1.6版本),其中插件选择:PyDev,专门对python进行开发。

2.3.2 Python+Webdriver安装

请按以下步骤安装python+Webdriver运行环境:

第一步:安装Python

Ø  根据下面的地址,直接一键安装,全部默认方式。

下载地址:http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi

Ø  设置Python的环境变量:,修改我的电脑->属性->高级->环境变量->系统变量中的PATH为PATH:“C:\Python27;”

上述环境变量设置成功之后,就可以在命令行直接使用python命令。或执行"python *.py"运行python脚本了。

Ø  此时,还是只能通过"python *.py"运行python脚本,若希望直接运行*.py,只需再修改另一个环境变量PATHEXT为:PATHEXT=PATHEXT;.PY;.PYM

第二步:安装Python的SetupTools

其实SetupTools就是一个帮助你安装第三方工具包的增强工具软件,根据下面的地址下载,然后一键安装。下载地址:

http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20

第三步:安装Python的包管理工具

pip有点类似SetupTools,打开DOS界面,进入到目录:C:\Python27\Scripts,然后敲入命令: easy_install pip, 等待完成就OK。如图2.3.2.1所示:

图2.3.2.1 pip安装过程

第四步:安装基于Python的Selenium包

打开DOS界面,进入到目录:C:\Python27\Scripts,然后敲入命令: pip install selenium,回车后就会自动下载最新的selenium包,并进行安装。

第五步:验证Selenium安装是否成功

在记事本中编写下面的代码:(保存为pytest.py,然后直接运行即可!)

#pytest.py

from selenium import webdriver

browser=webdriver.Firefox()#获取本地火狐浏览器

browser.get("http://www.yahoo.com")#打开雅虎首页

assert "Yahoo!" in browser.title

 

browser.close()

将上面代码保存,然后在命令行下找到此文件,pythonpytest.py运行。如果能成功打开火狐浏览器,并打开了雅虎首页,则说明Selenium安装成功。

2.3.3 Eclipse python开发环境配置

Eclipse是强大的开发工具,所以我们也采用这个工具编写我们的自动化测试用例。其插件pydev,更能方便地编辑和运行python脚本文件。下面我们就开始配置这个开发环境:

第一步:安装JDK6Eclipse

注:JDKEclipse都要用64位,否则有可能遇到问题。

JDK需要配置环境变量(详细见http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

下载JDKhttp://download.csdn.net/download/xiaoxiaoxinyuan8/5796753

eclipse下载:

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR1/eclipse-java-indigo-SR1-win32-x86_64.zip

当然你也可以自行在网上搜索下载,JKD最好用6,不过好像8也支持。可能尝试用最新版本,如果有问题,就降下来,毕竟低版本用的时间长,比较稳定,但也存在不包括最新的功能的风险。

第二步:给Eclipse安装PyDev插件

启动Eclipse ,在Help菜单中,选择Install New Software•••,

选择Add按钮,NamePyDevLocationhttp://pydev.org/updatesPyDev的更新地址),单击OK,开始查询。如图2.3.3.1所示:

图2.3.3.1 安装Pydev插件

然后在打开的对话框中选择PyDev下的PyDevfor Eclipse,别的都不要选,否则依赖检查那关过不去。如图2.3.3.2所示:

图2.3.3.2 pydev安装项选择

点下一步安装,中间会出现是否信任Aptana、Pydev,选择信任即可,最后重启Eclipse(如果第二步不能成功,尝试从官网上下载Pydev2.8.1版本,直接覆盖到纯净版eclipse插件文件夹下,重启eclipse即可)。

另外需要下载MySQL-python.rar插件,直接安装,重启eclipse。不同的环境和版本可能会出现不同的问题,大家需要去网上查询相关的解决办法,在此就不一一穷尽。

 

第三步:配置PyDev插件

在Window–Preference–PyDev–Interpreter-Python,单击New...按钮,在弹出的Select interpreter窗口中单击Browse...按钮,找到已经安装的Python解释器。如图2.3.3.3所示:

图2.3.3.3 选择python解释器

单击Select interpreter窗口中单击OK按钮,在弹出的Selection Needed窗口中单击Select All按钮,然后单击OK按钮完成设置。如图2.3.3.4所示:

图2.3.3.4 选择所有相关内容

然后在Preferences窗口中选择Apply—>OK完成设置。如图2.3.3.5所示:

图2.3.3.5 应用所有配置

 

第四步:配置Python编码格式

统一编码格式,把PyDev的编码格式修改成UTF-8,默认采用GBK编码。取消u' ...'形式的unicode文本表示,保存文本的数据类型是str,保存数据的数据类型是bytes。由于默认采用utf-8编码,只要保持.py文件的字符编码也为utf-8格式,不用再在头部声明程序的编码类型,即不用写# -*- coding:utf-8 -*-;采用如下方法:

Ø  修改PyDev编码格式,在Window-->Preferenceà General->Editors->Text Editors->Spelling,Encoding改成Other:UTF-8 。

Ø  修改Workspace编码格式General->Workspace,Text file encoding改成Other:UTF-8 。

Ø  修改python编码格式:找到安装目录下的\plugins\org.python.pydev.debug_x.x.x.yyyymmddhh\pysrc\pydevd.py, 920行的 encoding = Non 改成 encoding = "UTF-8",保存 (有的环境可能没有这个文件,如果找不到就忽略)。

至此,PyDev的配置就完成了。

注:如果没有配置编码规范,运行python脚本时会报错。

第五步:测试安装是否成功

File->New->Project,选PyDev下的PyDev Project,Grammer和Interpreter选相应的版本(如2.7),单击Finish。如图2.3.3.6所示:

 

图2.3.3.6创建pydev工程

在PyDev Package Explorer的项目上右键,New->PyDev Module,随便写个名字,Finish。 然后随便写几行代码,Run 在弹出的对话框中选择Python Run,如果运行成功,则说明Pydev环境配置没有问题。如图2.3.3.7所示:

图2.3.3.7检测Pydev环境

 

2.4 本章小结

经过本章的学习,我们可以完成Windows环境下Webdrvier+Python开发环境的配置。当配置完成后,你也可以把先前我们用记事本编辑的测试用例拿到Eclipse中测试运行一下,结果和前面完全相同。在LinuxMAC环境下配置类似,只是安装方法有所不同,找到相应环境的插件及工具,自行安全即可。再用本章中提到的例子,去验证一下,如果没有问题,说明环境配置成功。

有了好的开发环境,我们还需要努力学习,才能真正地掌握如何在这个环境下编写自动化测试用例。从下面的章节,我们将开始讲解自动化测试用例的编写知识。

0 0