《Web测试工具对比--自动化软件测试》由会员分享,可在线阅读,更多相关《Web测试工具对比--自动化软件测试(15页珍藏版)》请在金锄头文库上搜索。
1、针对 xxx(java 开发)软件进行测试,对 winrunner7.0,Rational Robot,Quick Test 进行评测,评测主要包括易用性,扩展性,稳定性等三方面.xxx 登陆功能是使用最频繁的功能,为了把这部分功能让测试人员从手工测试中解脱出来,现在进行自动化测试实现。首先,进行录制回放登陆操作目的是检验三种测试工具的易用性(功能前大与否)程度:操作的步骤 : 启动 ie,输入地址,输入用户名密码,登陆。WinRunner 7.01. 启动 WinRunner 7.02. 录制上边的操作步骤脚本如下点任务栏,启动 ie# Shell_TrayWndset_window (“S
2、hell_TrayWnd“, 3);toolbar_button_press (“ToolbarWindow32_0“, “T/ R Internet Explorer mO Vh “); # Button Number 0;地址栏输入地址# Browser Main Window_1set_window (“Browser Main Window_1“, 14);edit_set (“browser_main_edit_location“, “http:/192.168.1.42“);输入账号密码win_type (“html_frame_2“,“adminjetspeed“);win_mo
3、use_click (“html_frame_2“, 566, 33);win_check_gui(“html_frame_2“, “list1.ckl“, “gui1“, 1);录制完成后的脚本如上,测试回放发现粉色字体受环境影响很大,所以需要对脚本进行优化,改动后的脚本如下启动 ie,并且到http:/192.168.1.42的地址web_browser_invoke(IE,“http:/192.168.1.42“);win_mouse_click (“html_frame_2“, 402, 36);win_type (“html_frame_2“,“adminjetspeed“);win
4、_mouse_click (“html_frame_2“, 566, 33);win_check_gui(“html_frame_2“, “list1.ckl“, “gui1“, 1);替换脚本为一个函数 web_browser_invoke(IE,“http:/192.168.1.42“)3.回放 测试通过替换原因 一.上边粉色部分脚本随机性较大,如果脚本移植到其他测试机器上,由于测试环境的改变(假如任务栏没有快捷方式图标,粉色脚本将无法回放下去),导致无法执行。替换为 ie 启动函数,不管 ie 安装在任何地方可以直接启动。二进行脚本优化,避免错误,没有修改前的脚本太冗长,修改后脚本减少,
5、功能稳定。 Rational Robot:1. 启动 robot2. 录制操作脚本如下:Sub MainDim Result As IntegerDim Temp as Integer/启动 ie,连接到http:/192.168.1.42StartBrowser “http:/192.168.1.42“, “WindowTag=WEBBrowser“/让 ie 窗口获得焦点Window SetContext, “WindowTag=WEBBrowser“, “/打开新的页面Browser NewPage,“HTMLTitle=Dynaweb EPS 2003 企业门户服务器“,“/点用户名文
6、本框EditBox Click, “Name=username“, “Coords=35,12“/输入用户名密码InputKeys “adminTABjetspeed“/ 点登陆 PushButton Click, “Name=submit“/进入新页面Browser NewPage,“HTMLTitle=Dynaweb EPS 2003 企业门户服务器“,“/ 点退出连接HTMLImage Click, “Index=7“, “Coords=11,7“/关闭 ieWindow CloseWin, “, “End Sub3.回放 测试通过Quick Test 6.51. 启动 quick te
7、st2. 录制操作 脚本如下/打开 browser 对象 object (page 是个对象)方法的 object(webedit 也是个方法)的 set 方法,意思就是设置文本框 username,内容为 adminBrowser(“Dynaweb EPS“).Page(“Dynaweb EPS_2“).WebEdit(“username“).Set “admin“/同上,这回调用的是 setsecure 方法,作用是将 password 文本框中的文本进行加密Browser(“Dynaweb EPS“).Page(“Dynaweb EPS_2“).WebEdit(“password“).S
8、etSecure “3fe6931be2a331101ac0bbbc“/调用对象 webbutton 对象的 click 方法Browser(“Dynaweb EPS“).Page(“Dynaweb EPS_2“).WebButton(“v _U “).Click/调用 Image 对象的 click 方法,目的退出Browser(“Dynaweb EPS“).Page(“Dynaweb EPS_3“).Image(“T_ S y R 梑 g h_ “).ClickBrowser(“Dynaweb EPS“).Page(“Dynaweb EPS_3“).Link(“2333“).ClickBr
9、owser(“Dynaweb EPS“).Page(“Dynaweb EPS_4“).Image(“logout“).Click/等待页面操作完毕Browser(“Dynaweb EPS“).Page(“Dynaweb EPS_5“).Sync易用性总结:1. 操作简单但各个脚本都需要进行二次开发2. 脚本语言的异同:Winrunner 脚本支持 c 语言Robot 脚本支持 vb 脚本(可以扩展脚本语言支持 其他如 perl,java 等语言)使测试人员选择度很大Quick test 脚本支持 vbScript 脚本一 学习脚本:robot 和 quick test 为 vb 语言,容易掌握
10、,winrunner 脚本为 c语言,掌握有难度,短期内提高对测试人员要求比较高。二 调试脚本:robot 脚本支持 step,animate 等调式方式,winrunner 和 quick test 支持 step 等几种调试方式,相互比较来看 robot 调试功能强大,比较直观。三 测试环境兼容性:改变测试环境配置,将 ie 打开后变化窗口大小,关闭,重新运行测试脚本。Winrunner 脚本回放失败,其他两种工具测试回放成功,对比发现由于 winrunner脚本依靠坐标来确认对象位置,而 robot 和 quick test 是以对象来确认。稳定性上后两种测试工具更加占优。如:winru
11、nner 脚本中函数win_mouse_click (“html_frame_2“, 566, 33)以坐标来记录点击位置,当对象位置改变,脚本将无法执行。针对 winrunner 有两种解决对象识别的方法:1.坐标固定:启动 ie 后,使 ie 窗口最大化,窗口坐标得到固定,修改脚本后如下web_browser_invoke(IE,“http:/192.168.1.42“);/让窗口最大化,坐标固定了,这里不考虑机器分辨率的问题win_max(“Browser main Window“);win_mouse_click (“html_frame_2“, 402, 36);win_type (
12、“html_frame_2“,“adminjetspeed“);win_mouse_click (“html_frame_2“, 566, 33);win_check_gui(“html_frame_2“, “list1.ckl“, “gui1“, 1);录制的脚本基本回放通过(这里没有考虑分辨率的情况,否则脚本开发难度增大。)这种方法不是根本解决方法。2.让 winrunner 认识对象解决方法是开发 dll 让 winrunner 引用,windows 提供了 mshtml 对象,借用他可以实现 winrunner 认识对象。这里我用 word 的开发环境简单实现这个功能动态添加用户名密码
13、(可以改写编译成 dll 给 winrunner 引用)。主要代码(vb 版本):思路:ie 加载网页后,枚举所有元素对象,找到要找的元素,然后赋值。这里是找username 和 password 文本框,把用户名密码添加进去。Dim hdoc As HTMLDocumentDim eleColl As IHTMLElementCollectionDim sElement As IHTMLElementDim i As IntegerSet hdoc = WebBrowser1.DocumentSet eleColl = hdoc.allFor Each sElement In eleColl
14、If sElement.isTextEdit ThenIf sElement.outerHTML = “ ThensElement.setAttribute “value“, “admin“End IfIf sElement.outerHTML = “ ThensElement.setAttribute “value“, “jetspeed“End IfEnd IfNext同理可以实现 winrunner 识别网页任何对象。(自己开发测试工具)WebWeb 应用程序的整体测试应用程序的整体测试随着 Internet 的日益普及,现在基于 B/S 结构的大型应用越来越多,可如何对这些应用进行测试
15、成为日益迫切的问题。有许多测试人员来信问我 B/S 的测试如何做,由于工作较繁忙,对大家提出的问题也是头痛医头脚痛医脚,没有对 WEB 的测试过程做一个整体的概述。 希望通过本篇能够让大家了解大型 Web 应用是如何来进行测试的。B/S 下的功能测试比较简单,关键是如何做好性能测试。 目前大多数的测试人员认为只要跑一些测试工具证明我的产品是可以达到性能的就 ok 了,为了证明而去测试是没有任何价值的,关键是要发现产品性能上的缺陷,定位问题,解决问题,这才是测试要做的。首先我们从两个方面分析如何进行 WEB 测试,从技术实现上来讲一般的B/S 结构,无论是.NET 还是 J2EE,都是多层构架,
16、有界面层,业务逻辑层,数据层。而从测试的流程上来说,首先是发现问题,分析问题,定位问题,再由开发人员解决问题。那么 B/S 的结构的测试如何来做?如何发现问题是我首先要介绍的,在做 WEB 测试之前你需要一些资料,比如产品功能说明书,性能需求说明书,不一定很完善,但一定要有,明确测试目标,这是基本的常识,可是我往往看到的是已经开始动手测了,但还不知自己的系统要达到的性能指标是什么。这里我简单讲一下测试的性能指标: 通用指标(指 Web 应用服务器、数据库服务器必需测试项):* ProcessorTime: 指服务器 CPU 占用率,一般 平均达到 70%时,服务就接近饱和;* Memory Available Mbyte : 可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;* Physicsdisk Time : 物理磁盘读写时间情况;Web 服务器指标:* Avg Rps: 平均