CSDN博客

img piaocl

Web测试工具对比--自动化功能测试(2)

发表于2004/4/20 12:10:00  1435人阅读

易用性总结:

1.    操作简单但各个脚本都需要进行二次开发

2.    脚本语言的异同:

Winrunner 脚本支持c语言

Robot脚本支持vb脚本(可以扩展脚本语言支持 其他如 perl,java等语言)使测试人员选择度很大

Quick test脚本支持vbScript脚本

一.  学习脚本:robot和quick test为vb语言,容易掌握,winrunner脚本为c语言,掌握有难度,短期内提高对测试人员要求比较高。

二.  调试脚本:robot脚本支持step,animate等调式方式,winrunner和quick test支持step等几种调试方式,相互比较来看robot调试功能强大,比较直观。

三.  测试环境兼容性:

改变测试环境配置,将ie打开后变化窗口大小,关闭,重新运行测试脚本。

 

Winrunner脚本回放失败,其他两种工具测试回放成功,对比发现由于winrunner脚本依靠坐标来确认对象位置,而robot和quick test是以对象来确认。稳定性上后两种测试工具更加占优。

如:winrunner脚本中函数

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 ("html_frame_2","admin<kTab>jetspeed");
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的开发环境简单实现这个功能动态添加用户名密码(可以改写编译成dll给winrunner引用)。

主要代码(vb版本):

思路:ie加载网页后,枚举所有元素对象,找到要找的元素,然后赋值。这里是找username和password文本框,把用户名密码添加进去。

 

         Dim hdoc As HTMLDocument

         Dim eleColl As IHTMLElementCollection

         Dim sElement As IHTMLElement

         Dim i As Integer

             

Set hdoc = WebBrowser1.Document

         Set eleColl = hdoc.all

  

          For Each sElement In eleColl

     

             If sElement.isTextEdit Then

                    If sElement.outerHTML = "<INPUT class=text_input tabIndex=1 maxLength=25 size=8 name=username>" Then

                             sElement.setAttribute "value", "admin"

                   End If

                   

                   If sElement.outerHTML = "<INPUT class=text_input tabIndex=2 type=password maxLength=25 size=8 value="""" name=password>" Then

                             sElement.setAttribute "value", "jetspeed"

                   End If

              End If

    

         Next

 

同理可以实现winrunner识别网页任何对象。(自己开发测试工具)

 

0 0

相关博文

我的热门文章

img
取 消
img