`
zhang_zling
  • 浏览: 96988 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

Web测试工具对比--自动化软件测试

阅读更多
针对xxx(java开发)软件进行测试,对winrunner7.0,Rational Robot,Quick Test 进行评测,评测主要包括易用性,扩展性,稳定性等三方面.

         xxx登陆功能是使用最频繁的功能,为了把这部分功能让测试人员从手工测试中解脱出来,现在进行自动化测试实现。


    首先,进行录制回放登陆操作目的是检验三种测试工具的易用性(功能前大与否)程度:


操作的步骤 : 启动ie,输入地址,

输入用户名密码,

登陆。



WinRunner 7.0


1.       启动WinRunner 7.0

2.       录制上边的操作步骤

脚本如下

点任务栏,启动ie

# Shell_TrayWnd
set_window ("Shell_TrayWnd", 3);
toolbar_button_press ("ToolbarWindow32_0", "T/ R¨  Internet Explorer mO ‰È Vh "); # Button Number 0;
地址栏输入地址
# Browser Main Window_1
set_window ("Browser Main Window_1", 14);
edit_set ("browser_main_edit_location", "http://192.168.1.42");



输入账号密码

win_type ("html_frame_2","adminjetspeed");
win_mouse_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_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安装在任何地方可以直接启动。

         二.进行脚本优化,避免错误,没有修改前的脚本太冗长,修改后脚本减少,功能稳定。





Rational Robot:



1.    启动robot

2.    录制操作

脚本如下:



Sub Main

    Dim Result As Integer

    Dim Temp as Integer

    //启动ie,连接到http://192.168.1.42

    StartBrowser "http://192.168.1.42", "WindowTag=WEBBrowser"

    //让ie窗口获得焦点

    Window SetContext, "WindowTag=WEBBrowser", ""

    //打开新的页面

Browser NewPage,"HTMLTitle=Dynaweb EPS 2003企业门户服务器",""

//点用户名文本框

    EditBox Click, "Name=username", "Coords=35,12"

    //输入用户名密码

    InputKeys "admin{TAB}jetspeed"

    // 点登陆

    PushButton Click, "Name=submit"

    //进入新页面

Browser NewPage,"HTMLTitle=Dynaweb EPS 2003企业门户服务器",""

// 点退出连接

    HTMLImage Click, "Index=7", "Coords=11,7"

    //关闭ie

Window CloseWin, "", ""



End Sub



3.回放 测试通过



Quick Test 6.5



1.    启动quick test

2.    录制操作 脚本如下



//打开browser对象 object (page是个对象)方法的object(webedit也是个方法)的set方法,意思就是设置文本框username,内容为admin

Browser("Dynaweb EPS").Page("Dynaweb EPS_2").WebEdit("username").Set "admin"

//同上,这回调用的是setsecure方法,作用是将password文本框中的文本进行加密
Browser("Dynaweb EPS").Page("Dynaweb EPS_2").WebEdit("password").SetSecure "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_ {~ ").Click
'Browser("Dynaweb EPS").Page("Dynaweb EPS_3").Link("2333").Click
Browser("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语言,容易掌握,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","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的开发环境简单实现这个功能动态添加用户名密码(可以改写编译成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 = "" Then

                             sElement.setAttribute "value", "admin"

                   End If

                  

                   If sElement.outerHTML = "" Then

                             sElement.setAttribute "value", "jetspeed"

                   End If

              End If

   

         Next



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

分享到:
评论

相关推荐

    Web测试工具对比--自动化软件测试(1)

    webWebWeb测试工具对比--自动化软件测试(1)软件测试针对xxx(java开发)软件进行测试,对winrunner7.0,RationalRobot,QuickTest进行评测,评测主要包括易用性,扩展性,稳定性等三方面.xxx登陆功能是使用最频繁的功能...

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

    WebWEBWeb测试工具对比--自动化功能测试(2)软件测试QuickTest6.51.启动quicktest2.录制操作脚本如下//打开browser对象object(page是个对象)方法的object(webedit也是个方法)的set方法,意思就是设置文本框username,...

    WEB自动化测试框架文档.doc

    - 软件测试自动化能显著提升开发质量和效率,尤其适用于图形界面测试。 - 测试用例设计分为图形界面手动测试和非图形输出自动化测试。 - 使用编程语言或脚本语言生成大量测试输入和预期输出。 - 统一命名规则...

    软件测试自动化基础

    ### 软件测试自动化基础知识点详析 #### 自动化测试基础概览 软件测试自动化,作为现代软件工程中的重要组成部分,旨在通过利用软件工具和脚本来替代手动执行的测试活动,从而提升测试效率、准确性和覆盖率。自动...

    软件测试第七章软件测试自动化.pptx

    软件测试自动化是指使用自动化测试工具来执行测试活动,以验证软件的需求。自动化测试可以包括测试脚本的开发和执行,以便使用一种或多种自动化测试工具来验证需求。 为什么要进行自动化测试?自动化测试可以代替...

    自动化软件测试.pdf

    《自动化软件测试》这本书主要涵盖了软件测试的基础知识、自动化测试工具的使用以及具体的项目案例,旨在帮助测试人员提升技能和实践经验。以下是对书中的主要内容的详细解析: **第一篇 基础知识篇** 1. **软件...

    自动化测试培训

    - **自动化测试工具的选择**:介绍如何根据项目的具体需求选择合适的自动化测试工具。 - **理解插件**:解释插件的作用及其在自动化测试中的重要性。 - **QTP对象识别原理**:详细讲解QTP如何识别和操作UI元素。 - *...

    自动化测试的实践-应用QTP测试框架

    Quick Test Professional(QTP)是一款由HP(现已被Micro Focus收购)开发的自动化测试工具,广泛应用于功能测试和回归测试中。本文将探讨如何将QTP应用于自动化测试框架,以及其实施规划、源起、设计原则和挑战。 ...

    几种测试工具对比

    SilkTest是一款多功能的自动化测试工具,适用于Web、Java和C/S应用的测试。它强调测试脚本的动态录制、测试数据的管理以及无人看管测试环境下的恢复系统。SilkTest的恢复系统可以在测试过程中遇到错误导致应用崩溃时...

    软件测试经典面试题 (超实用)

    ### 重要知识点解析 #### 1. 兼容性测试及其侧重方面 - **兼容性测试**是指在...以上内容涵盖了软件测试领域的多个核心知识点,从兼容性测试到具体的测试工具使用方法,为面试准备提供了丰富的理论基础和实践经验。

    常用软件测试工具的分析与比较

    【软件测试工具的分析与比较】 在软件开发过程中,测试是不可或缺的重要环节,而选择合适的测试工具能够极大地提升测试效率和质量。以下是对几种常见软件测试工具的详细分析和比较: 1. WinRunner (Mercury 公司) ...

    web服务测试工具

    Web服务测试工具是用于验证和调试Web服务(主要包括SOAP和RESTful API)的重要软件。这些工具可以帮助开发者和测试人员确保Web服务的正确性、稳定性和性能。在IT行业中,Web服务已经成为不同系统间数据交换的标准...

    一系列自动化测试的开源工具推荐

    本文将推荐一些开源的自动化测试工具,涵盖了压力测试、Web UI 自动化测试、APP 自动化测试和接口自动化测试等多个方面。 一、压力测试 压力测试是一种测试方法,它通过模拟多个用户同时访问系统,以评估系统的...

    基于Python的Web API自动化测试方法研究.pdf

    测试执行阶段通过自动化测试工具运行脚本,并收集结果。结果分析阶段则对比预期结果和实际结果,分析差异原因并提供测试报告。 基于Python的Web API自动化测试框架,可以利用Python的网络编程和数据处理能力,结合...

    主流软件测试工具介绍

    黑盒测试工具主要用于验证软件的功能是否符合预期,通常采用脚本的录制/回放方式来模拟用户操作,记录系统输出并与预设的结果进行对比。 - **定义**:这类工具不关注软件内部实现细节,而是侧重于验证软件对外提供...

    测试理论--极光

    8. **自动化测试工具**:掌握至少一种自动化测试工具。 9. **其他技能**:良好的沟通能力和团队合作精神,热爱测试工作,能够承受一定的工作压力。 10. **加分项**:熟悉JavaWeb开发,掌握SSH、MyBatis、Dubbo等常见...

Global site tag (gtag.js) - Google Analytics