Selenium 自动化测试工具介绍 - 初步体验

        一个30人的应用开发团队,需要多少测试人员配合呢?我想大概需要20人吧。当20人都需要重复一类测试问题时,这显然是对人力成本的浪费。黑盒测试人员一般会有几个环节:标准测试,系统测试,主功能测试,回归测试。这其中回归测试和主功能测试都是可以安排到自动化测试中的。那么如何搭建一套相对可靠的自动化测试框架呢?首先需要选型。在网上看了看selenium,已经推出很多年了。稳定易用,就选择用他了。
         首先要明确几个下文中需要用到的软件
1、junit下载地址: https://github.com/KentBeck/junit/downloads,我下载的版本:junit4.11-SNAPSHOT-20120805-1225.zip 
2、Selenium下载地址: http://seleniumhq.org/download/,RC Server下载的版本:Download version 2.25.0
3、jdk,这个网上有很多。找适合自己系统的版本。


序、什么是Selenium?
        ThoughtWorks公司开发的web自动化测试工具.
        其主要实现如下三个功能:
                # 测试直接在浏览器中运行,就像真实用户所做的一样,从终端用户的角度测试应用程序。
                # 使浏览器兼容性测试自动化成为可能。
                # 使用简单,可生成多种语言的用例脚本。
       
一、Selenium IDE。
        这个是集成在firebug中的一个插件。可以用来录制用户对浏览器的操作行为。安装方式也非常简单,在我之前提供的地址中下载安装即可。这里要说明的是下载的是一个.xpi文件。使用方式也是按照firefox的开发插件来使用的。

                  



        Selenium IDE只是辅助开发者生成测试代码的工具,由于他只能在firefox上使用。我推荐开发者可以使用该工具录制一些常用行为,如登陆,发布等功能。将生成的代码进行修改和调试在保存在测试脚本中,这样可以一定限度上的节省开发脚本的时间。毕竟,自己去找页面节点是很费时间的。

                

        我在体验selenium时,使用的语言是java,因此我将IDE生成的代码保存为了junit4版本。




二、Selenium RC。
        测试过程中,我本地的操作系统是win7 x64版本。在本地先安装了jdk 1.6。在确认在运行窗口输入java -version都可以显示如下图,证明你安装成功了。
        

        接下来我们需要启动selenium server。在命令行中输入:java -jar selenium-server-standalone-2.25.0.jar,就可以看到负责接收测试数据的server在本地启动了。为了方便我们今后使用。我新建了一个批处理文件。编辑start.bat,并在文本中输入java -jar selenium-server-standalone-2.25.0.jar -interactive。以后每次只要双击这个批处理文件,就可以启动了。要注意的是,同时智能保证一个进程。启动效果如下:

         




三、构建测试脚本。
        鉴于自己是微博员工,就决定先做一个测试case,完成“自动登录”、“发微博”两个功能。

        1、创建一个java项目,包名称pkgTest,文件名ClsPublishFeed2.php

       


        2、需要在project中鼠标右键BuildPath->Configuare Build Path,添加两个jar文件。添加这两个库后,测试脚本中的错误消息会消失。

        


        3、调试脚本。
              下图中标注了测试脚本一些需要注意修改的选项。目前我的selenium是跑在localhost的,默认端口是4444。如果有专属的测试服务器,将此内容调整后,就可以远程获取测试信息了。
         

               下图的两行命令即可完成发送微博。程序代码可以很直观的对应到我们鼠标真实点击的行为,即先获取要点击的位置,然后对点击后的节点进行输入,或者进行点击。很简单,很方便。

        


四、运行脚本。

     点击Debug As -> Junit Test后,会自动启动IE窗口。并完成登录和发微博,并且还完成了一次收藏操作。


         

        需要注意的是,实际上我页面中这次提交并没有成功,因为触发了微博主站的某些限制规则,但从selenium server中并没有看到发布不成功的问题。这就要再后面的研究中多考虑断言assertRule的使用了,当出现不同返回值时,都能够自动做相应操作,这样才能做到真正的自动化测试。


总结:

        这篇是对selenium初步体验的一个总结帖,其中安装的一些细节没有详细的写出来,相关文章参考地址:

        http://wenku.baidu.com/view/6641fd0f844769eae009ed93.html

        http://wenku.baidu.com/view/c808bbd2b14e852458fb57e5.html


        后期会继续升入selenium的一些主要功能,并结合测试case写一些自动化测试的脚本。希望开发完毕后,工程师可以自己先完成自己的自动化测试。试想一下,抽科烟的功夫,回来一看结果全部测试通过,应该是很爽的一件事^_^

        


 最后一句:

从我本机测试的效果看,selenium打开firefox的速度要远远慢于IE explorer。这个还需要看看是不是单机的差异性。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值