发布新日志

  • 自动化测试脚本的编写方法

    2011-06-15 10:36:29

    自动化测试项目也像普通的软件开发项目一样,有编码阶段,自动化测试的编码阶段主要是编写测试脚本实现所设计的自动化测试用例。自动化功能测试脚本地开发方法主要有以下几种:1.线性的 2.结构化的 3.共享的 4.数据驱动的 5.关键字驱动的

          线性脚本的编写方法是使用简单的录制回放的方法,测试工程师使用这种方法来自动化地测试系统的流程或某些系统测试用例。它可能包含某些多余的、有时候并不需要的函数脚本。

         结构化脚本编写方法在脚本中使用结构控制。结构控制让测试人员可以控制测试脚本,或测试用例的流程。在脚本中,典型的结构控制是使用“if-else”,“switch”,“for”,“while”等条件状态语句来帮助实现判定、实现某些循环任务、调用其他覆盖普遍功能的函数。

         共享脚本编写方法是把代表应用程序行为的脚本在其他脚本之间共享。这意味着把被测应用程序的公共的、普遍的功能的测试脚本独立出来,其他脚本对其进行调用。这使得某些脚本按照普遍功能划分来标准化、组件化。这种脚本甚至也可以使用在被测系统之外的其它软件应用系统。

          数据驱动脚本编写方法把数据从脚本分离出去,存储在外部的文件中。这样,脚本就只包含编程代码了。这在测试运行时要改变数据的情况下时是需要的。这样,脚本在测试数据改变是不需要修改代码。有时候,测试的期待结果值也可以跟测试输入数据一起存储在数据文件中。 

         关键字驱动脚本编写方法把检查点和执行操作的控制都维护在外部数据文件。因此,测试数据和测试的操作序列控制都是在外部文件中设计好的,除了常规的脚步外,还需要额外的库来翻译数据。关键字驱动脚本编写方法是数据驱动测试方法的扩展。

         总结起来看,对于开发的成本来说,随着脚本编写方法从线性倒关键字驱动的改变而不断地增加;对于维护成本来说,随着脚本编写方法从线性倒关键字驱动的改变而在下降。对于编程技能要求来讲,随着脚本编写方法从线性倒关键字驱动的改变,对一个测试员的变成熟练程度的要求在增加。对于设计和管理的需要来说,随着脚本编写方法从线性倒关键字驱动的改变,设计和管理自动化测试项目的要求在增加。因此,应该合理地选择自动化测试脚本开发方法,在适当的时候,使用适当的脚本开发方法。

  • 【QTP实战】在WebTable对象中使用ChildItem方法

    2011-05-03 16:23:09

     

    ChildItem方法
    语法:
    object.ChildItem (Row,Column,MicClass,Index)

    作用:用于获取单元格中的测试对象

    项目实战举例:
    1、修改订单号为“DD0000315”的单据,点击操作列中对应的“修改”图标进入修改页面。

    orderNo="DD0000315"
    num=Browser("xx").Page("xx").Frame("xx").WebTable("xx").RowCount
    For i=0 to num
       If Browser("xx").Page("xx").Frame("xx").WebTable("xx").GetCellData(i,2)=orderNo Then
       Browser("xx").Page("xx").Frame("xx").WebTable("xx").ChildItem(i,9,"WebElement",0).Click
    'Index:0=修改,1=提交,2=入库通知,3=审核,5=打印
       End If
    Next

    2、选择订单号为“DD0000317”前面的复选框,点击操作栏中的的“提交”图标进入提交页面。

    orderNo="DD0000317"
    totalRowNumber=Browser("xx").Page("xx").Frame("xx").WebTable("xx").RowCount
    For i=0 to totalRowNumber
     If Browser("xx").Page("xx").Frame("xx").WebTable("xx").GetCellData(i,2)=orderNo Then
        Browser("xx").Page("xx").Frame("xx").WebTable("xx").childitem(i,1,"WebCheckBox",0).Set "ON"
     End if
    Next
    Browser("xx").Page("xx").WebButton("提交").Click

    >>项目实战操作图:

     

    ChildItem

    Description

        Returns a test object from the cell by type and index.

    Syntax

        object.ChildItem(Row,column,MicClass,Index)

        object:A test object of type WebTable.

        Row:Required.A long value.The row number where the cell is located.The first row int the table is number 1.

        Column:Required.A long value.The column number where the cell is located.The first column in the table is 1.

        MicClass:Required.A string value.The object type.

        Index:Required.A long value.The index of the object of type MicClass in the cell.This index indicates the desired element when there is more then one object of the type MicClass in the cell.The first object has an index of 0.

    Return Value

        An Object object

    Example

        sub ChildItem_Example()

        'The following example uses the ChildItem method to set the second edit box from the FirstName table to Example.

        Set WebEditObj = Browser().Page().WebTable("FirstName").ChildItem(8,2,"webedit",0)

        WebEditObj.Set "Example"

        End sub

  • 如何点选table中第一行的值 进行右键的相关操作

    2011-05-03 16:11:45

     
     
    setting.webpackage("ReplayType")=2
    Dim obj2
    Dim rowNum2
    Set Desc = Description.Create()
    Desc("micclass").Value ="WebTable"
    Desc("text").Value ="Document Source SystemDocument TypeDateOwnerStatusDocument NumberEntry NumberPurchase OrderStyle. IdDocument CurrencyPagerPage.*"
    Set editobjects=Browser("Actual Costing System").Page("Document").ChildObjects(Desc)
    fCount=Browser("Actual Costing System").Page("Document").ChildObjects(Desc).Count
    For i=0 to fCount-1
      Set obj2=editobjects(i)
      rowNum2=obj2.GetRowWithCellText("DAMCO")
      obj2.ChildItem(rowNum2,1,"WebElement",0).Click ,,micRightBtn
      obj2.ChildItem(rowNum2,1,"WebElement",0).Click 2,2,micRightBtn
      Exit for
    Next
    setting.webpackage("ReplayType")=1
    'Browser("Actual Costing System").Page("Document").WebElement("Document Detail").Click
    Browser("Actual Costing System").Page("Document").WebElement("DocumentEdit").Click
    'Browser("Actual Costing System").Page("Document").WebElement("Matching Receipts").Click
    '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''Hemisphere
  • QTP8 Tutorial_oldsidney的QTP中文操作手册

    2007-05-16 15:30:43

    大家可以参考着看
  • qtp9.0的破解文件

    2007-04-30 09:21:57

  • 别人的qtp学习笔记

    2007-01-09 15:40:00

    暂无
  • 关于qtp中的关键字驱动http://blog.joycode.com/oldsidney/articles/23580.aspx

    2007-01-09 15:24:33

    暂无
  • 从今天开始用blog见证我学QTP的每一步

    2007-01-08 15:58:44

    QTP中的descrīptive programming
    http://www.51testing.com/html/51/133.html
Open Toolbar