------Web自动化测试之Webdriver(python)--从零到熟练(系列)html
通过上面的讨论,咱们已经窥探到自动化测试的端倪,可是要想写出一个能够运行的自动化测试用例,咱们还须要更深刻的学习。如下的内容,咱们将一步步的来探讨自动化测试的秘密。java
“工欲善其事,必先利其器。”固然自动化测试也不例外,咱们用到的工具及语言以下:python
(1)Selenium IDE:做为火狐的一个插件,是咱们Web自动化测试中必不可少的。编程
(2)FireBug:火狐的一个插件,帮助咱们定位页面元素。浏览器
(3)Eclipse:强大的代码编辑工具,相信你们并不陌生。网络
(4)PyDev:Eclipse的插件,用于编辑Python代码。框架
(5)Python:咱们测试用例的编码语言,请自行学习,本系统教程是再也不讲究Python编程的内容。ide
(6)WebDriver:selenium2.0,Web自动化测试主要框架。模块化
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操做同样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:工具
Ø 测试与浏览器的兼容性——测试你的应用程序看是否可以很好得工做在不一样浏览器和操做系统之上。
Ø 测试系统功能——建立衰退测试检验软件功能和用户需求。支持自动录制动做和自动生成。
Ø 支持python、Net、Java、Perl等不一样语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
Selenium IDE
Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,能够将用户在浏览器中执行的操做记录下来,生成各类形式的脚本,能够将这些脚本保存供之后使用。
方法一,安装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所示,咱们能够禁用到不用的语言项。
下面咱们将逐步讲Selenium IDE的使用方法:
Ø 安装Selenium IDE。
Ø 启动Selenium IDE:打开“工具”—>“Selenium IDE”,IDE启动后,弹出如图2.1.3.1对话框:
上图标明了一些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 TestPersent hyddd - 博客园”。
(6)单击第一条记录(即:进入hyddd - 博客园)
(7)Firefox弹出一个新Tab页面,并进入了个人博客。
OK,如今看看咱们的Selenium IDE录制的结果吧!如图2.1.3.2所示:
图2.1.3.2 脚本录制结果
上图中,中间的表格就是录制的结果,你能够按“运行脚本”从新回放脚本看看,值得注意的是,在运行时,Firefox可能会认为脚本中最后一个操做(即:步骤7)为非法弹出框,浏览器会自动阻止其弹出,这个须要设置一下Firefox,具体位置是:Firefox->Menubar->Tools->options->content->Block pop-up Window,你能够把钩去掉或者在Exceptions里面添加相应的网址。
到此为止,脚本录制圆满完成!在运行脚本后,你会发现IDE表格的颜色发生了变化,运行前,脚本表格为白色,成功运行完毕后,表格为青色,其中还分为深青色和浅青色两种,浅青色表示:动做成功,如:打开网页成功,点击按钮成功等等,而深青色表示:判断正确,如:“hyddd - 博客园”这段文字在页面中存在等等。
那若是运行失败会是什么样子呢?如今咱们看看出错时的状况吧。如图2.1.3.3所示:
出错时,表格可能会出现两种颜色,一种是浅粉红色,一种是深粉红色。浅粉红色表示判断结果为false,这种状况用例仍是会继续执行下去,判断的失败不会影响案例的运行,深粉红色表示动做失败,如:没有找到按钮等(如上图),这种状况下案例会中止运行。
Ø 脚本转化保存
Selenium IDE录制完成脚本后,通过咱们回放验证,发现能够达到咱们的要求,此时咱们最想作的事情就是把脚本转化成咱们指望的形式保存来了。
不要担忧,Selenium IDE有这个功能,如图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验证元素定位
Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件,现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、JavaScript控制台、网络情况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀,从各个不一样的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利。
FireBug的安装和使用,能够参考这个文档:http://jingyan.baidu.com/article/fd8044fa97e08c5030137a6c.html,此文档把FireBug的基本使用方法都介绍了一下,仍是比较详细的,在此就不一一介绍了!
下面我就把咱们自动化测试中对Firebug的应用,以一个实例来简单介绍一下:
Ø 页面元素定位
(1)打开微博,登陆一个帐号,以本人的帐号为例。
(2)查看个人微博昵称“潜龙0318”,在页面HTML编码中的节点,按图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所示:
在Firebug的查找框输入“feed_list”,而后单击回车查找。此时就会发现有不少条件条件的元素,证实这个属性值不惟一,因此不能用这个属性值定位。