发布新日志

  • 用场景恢复实现QTP测试集失败时的桌面截图

    2010-10-21 14:59:35

    在调试QTP脚本过程中发现,无论是Qtp自带的运行报告还是TD提供的运行报告,都无法为错误定位提供很确切、直观的参考。比如,有时错误发生在点击“订单填写”的步骤,而运行报告给出的结果是无法找到点击“订单填写”步骤之后的订单填写界面对象的缺失。因此为了更好地保留“现场”,我们在场景恢复关闭进程函数之前,先调用桌面截图函数保留“案发现场”。desktop.CaptureBitmap filename,Ture。

    通常一个测试集中包含很多个测试用例,为了方便用例和截图的对应,要对截图的命名区分处理。麦兜兜想到两种方式:

    一、返回错误发生时系统当前时间,如下所示:

    Dim FileName ,TimeNow, ResPath

    ResPath = "D:\TestsResult\"

    TimeNow = DotNetFactory.CreateInstance( "System.DateTime" ).Now.ToString( "ddMMyyHHmmss" )

    FileName = ResPath & "\" & TimeNow & ".bmp"

    desktop.CaptureBitmap filename,True

    二、从环境变量获取当前测试脚本的名称,如下所示:

    Dim FileName ,ResPath

    ResPath = "D:\TestsResult\"

    TestNameNow=environment.Value("TestName")

    FileName = ResPath & "\" & TestNameNow & ".bmp"

    desktop.CaptureBitmap filename,True

    当然也可将二者结合。

  • BUG级别与严重程度

    2010-10-21 13:50:30

    BUG级别与严重程度(参考)
        一直以来都在研究Loadrunner的脚本设计和编写,今天转载一篇理论性的文章,拿来学习下,希望大家共同交流。

    优先级
    严重程度
    p1 blocker 死机、乱码。
    p1 critical 页面不存在、服务器错误、数据库错误、丢失数据、造成资料被破坏、内存泄露。
        1、出现错误后,测试无法继续执行
    p2 major 主要功能未实现或与产品需求规格书不符。
        1、菜单或按钮没有实现其本来的作用,不能进入所链接的页面,影响其它功能的实现。如添加,修改按钮不起作用。
    2
    、影响下一个流程的操作。如不能保存数据。
    3
    、按钮实现了不属于自已本身的功能。如确定按钮实现了保存功能。
    4
    、遗漏了功能。
    5、数据丢失或毁坏。
    p2p3 normal 运行错误,本身不属于功能问题(和测试环境有关系等)。
        1、各选项或按钮没有实现其本身的作用,但不影响其它功能的实现。如不能删除、搜索 、排序等。
    2
    、对数据约束的功能没有实现。
    3、数据约束与需求不一致。
    p3 minor 次要功能未实现或与产品需求规格书不符。
        1、页面跳转错误。
    2Javascrīpt
    错误。
    3、功能已实现,但无提示信息。
    p3 trivial 装饰性问题,主要是界面方面问题,如错别字、画面误显示或误动作,提示信息有误。
        1、提示信息文字描述问题。
    2、页面显示问题。
    p4p5 enhancement
    进行合理化建议。
        1、不影响使用的瑕疵。
    2、更好的实现方式。
  • redim preserve 在数组上的应用

    2010-10-20 17:25:07

    If browser("SMS Lite").Page("SMS Lite").WebTable("Offerign_table_offering").RowCount>1  Then
     Dim offeringName(),rowsCount
     
      rowsCount=browser("SMS Lite").Page("SMS Lite").WebTable("Offerign_table_offering").RowCount
      
     For i=1 to  rowsCount-1
     
      ReDim preserve  offeringName(i)
      offeringName(i)=browser("SMS Lite").Page("SMS Lite").WebTable("Offerign_table_offering").GetCellData(i+1,3)
        Msgbox( offeringName(i) )

     Next

      else
      msgbox("找不到该服务类型定价数据")
    End If

  • qtp- onmouseover的用法

    2010-10-19 14:53:58

    录制onmouseover,没有修改设置是不能录制onmouseover事件的,可以手动写代码

    browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame_2").Link("Movie021101").FireEvent "onmouseover"

     

    下面代码是onmouseover一个Link上,弹出一个webtable,检查弹出的内容是否存在

    Browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame").Link("dmxPackage.move201002110025020").Click

    browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame_2").Link("Movie021101").FireEvent "onmouseover"

    If  browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame_2").WebTable("table_contentStore").Exist Then
       Dim rows
          rows=browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame_2").WebTable("table_contentStore").RowCount
     Dim aryResult(4)
     
       For  i=1 to rows-1
        j=i+1
        aryResult(i)=browser("VisionTV BMS").Page("VisionTV BMS").Frame("Frame_2").WebTable("table_contentStore").GetCellData(j,3)
            msgbox(aryResult(i))
       Next
       
     
     else
     MsgBox "失败"
    End If


     

  • qtp-代替msgbox弹出窗口方法

    2010-10-18 12:01:17

    Set wsh=createobject("WScript.Shell")
    res=wsh.Popup("closed after 2 seconds",3)
    Set wsh=nothing

    该窗口会在3秒钟后自动消失,而msgbox语句则不能

Open Toolbar