软件测试工具QTP的登陆脚本设计

发表于:2009-09-07来源:作者:点击数: 标签:软件测试工具qtpQTP脚本
软件测试工具 QTP 的登陆脚本设计 由于一直以来事情都比较多,最近上课还有其它的事情,所以本来答应一个朋友把脚本帮他写一些,但是耽误了3-4天了,实在不好意思。这里把脚本简单说一下,我们分析一下。 当时问题时这样的,“我的错误的用户名就没办法登陆

软件测试工具QTP的登陆脚本设计

由于一直以来事情都比较多,最近上课还有其它的事情,所以本来答应一个朋友把脚本帮他写一些,但是耽误了3-4天了,实在不好意思。这里把脚本简单说一下,我们分析一下。
  当时问题时这样的,“我的错误的用户名就没办法登陆”,其实含义就是脚本最好能处理成功的用户名错误的用户名,那么这里涉及到脚本的设计。

        目标如下:
        1.    脚本需要处理成功和失败的用户的登陆
        2.   数据驱动

        设计开发脚本如下:
        第一步录制脚本如下
        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set "吕巍"
        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set ""
        Browser("智能变电巡检仪系统 4.0").Page("Page").Syn
        Browser("智能变电巡检仪系统 4.0").Close

        以上为录制的正确的用户名,下边录制错误的用户名
        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set "xx"
        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set ""
        出现错误提示“该用户不存在”

        第二步 增强脚本

        现在需要设计的是一套脚本驱动所有的测试数据,这样可以驱动所有的用例数据,qtp中提供了datatable。
        但是有数据驱动也要做一个事情就是如何处理错误的用户名和正确的用户名,如何结合起来呢?
        这里我把datatable看作存放测试用例的地方,里面放入测试数据,还放入测试的预期结果。这样我的设计已经出现雏形了。
        我把datatable设计为三列

        username  password status
        吕x
        xxx       xxxx     该用户不存在

        第三列放入最后执行的结果,我设计的是空为成功登陆,如果有信息就用实际运行的结果和这一列对比.好了万事俱备只欠东风了

        修改脚本如下:
        Dim iStatus

        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set DataTable("username", dtLocalSheet)
        Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set DataTable("password", dtLocalSheet)
        iStatus = DataTable("status", dtLocalSheet)

        If   iStatus=""  Then
          Browser("智能变电巡检仪系统 4.0").Close
        End If


        If   iStatus="该用户不存在"    Then
             Reporter.ReportEvent micFail, "登陆", "登陆失败."
        End If

        Browser("智能变电巡检仪系统 4.0").Close

        第三步,设置脚本运行过程

        打开 tests-〉settings
        设置RUN TAB页面下 Datatable iterations中 Run On all rows

        这样就完成了整个脚本的设计工作,以上通过一个简单例子吧脚本的设计和软件的功能结合起来,达成脚本的设计效果。

原文转自:http://www.ltesting.net