岁月沧桑,物是人非,岁月赋予了我什么:财富?知识?皱纹?生活态度?

发布新日志

  • QTP出现的问题

    2011-04-17 11:25:02

    1、打开QTP录制的文件夹后报“Unexpected file format”错误。
    解决方法:用QTP安装程序重新修复QTP
    2、QTP 无法在对象库中识别出网页的对象,主要是由于以下两个原因:
    (1).QTP和IE的运行模式要以管理员身份运行(即:右键程序选择“Run as administrator” **俺是英文系统翻译俺不管鸟**)此条适用于vista和win7
    (2)QTP的运行要先于IE。即先将QTP 运行起来,待QTP运行后再启动IE。注意在QTP运行前就存在的网页要关掉
    okay了,这样就能搞定QTP的这个问题鸟。至于,QTP安装有问题,破解的问题,IE插件问题等等都不是问题所在。俺用的就是破解版,跑得很好没问题:)
    3、下拉菜单不能回放的解决方法
    在录制时,比如打开记事本,点击下拉菜单 "文件"-->"退出";
    回放时会出现 object not visible ;
    windows("记事本").click 193,117
    windows("记事本").winmenu("ContextMenu").Select "文件:退出"
    QTP默认录制方式是无法录制下拉菜单的,必须修改设置后再录制
    修改设置如下:
    在tools -> web event recording configuration 点击custom settings... 展开Web objects,
    选种webelement,点击event -> add -> onmouseover 。并确定在record栏内,状态是enabled。
    然后再重新录制你的脚本。
    执行录制后的脚本,无法回放成功,这是因为脚本只录制了鼠标的onmouseover 事件,却没有录制click事
    件,所以脚本录制完后要手动添加click事件。

  • [VBS] Excel文件内容控制

    2011-04-13 11:37:32

    转载:http://www.51testing.com/?uid-235643-action-viewspace-itemid-222908

    (一) 使用动态创建的方法

    首先创建Excel对象,使用ComObj:

    oExcel = CreateObject( "Excel.Application" )

    1) 显示当前窗口:
    oExcel.Visible = True

    2) 更改 Excel 标题栏:
    oExcel.Caption = "应用程序调用 Microsoft Excel"

    3) 添加新工作簿:
    oExcel.WorkBooks.Add

    4) 打开已存在的工作簿:
    oExcel.WorkBooks.Open( "C:\Excel\Demo.xls" )

    5) 设置第2个工作表为活动工作表:
    oExcel.WorkSheets(2).Activate

    oExcel.WorksSheets( "Sheet2" ).Activate

    6) 给单元格赋值:
    oExcel.Cells(1,4).Value = "第一行第四列"

    7) 设置指定列的宽度(单位:字符个数),以第一列为例:
    oExcel.ActiveSheet.Columns(1).ColumnsWidth = 5

    8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1厘米

    9) 在第8行之前插入分页符:
    oExcel.WorkSheets(1).Rows(8).PageBreak = 1

    10) 在第8列之前删除分页符:
    oExcel.ActiveSheet.Columns(4).PageBreak = 0

    11) 指定边框线宽度:
    oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
    1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )

    12) 清除第一行第四列单元格公式:
    oExcel.ActiveSheet.Cells(1,4).ClearContents

    13) 设置第一行字体属性:
    oExcel.ActiveSheet.Rows(1).Font.Name = "隶书"
    oExcel.ActiveSheet.Rows(1).Font.Color = clBlue
    oExcel.ActiveSheet.Rows(1).Font.Bold = True
    oExcel.ActiveSheet.Rows(1).Font.UnderLine = True

    14) 进行页面设置:

    a.页眉:
    oExcel.ActiveSheet.PageSetup.CenterHeader = "报表演示"
    b.页脚:
    oExcel.ActiveSheet.PageSetup.CenterFooter = "第&P页"
    c.页眉到顶端边距2cm:
    oExcel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035
    d.页脚到底端边距3cm:
    oExcel.ActiveSheet.PageSetup.HeaderMargin = 3/0.035
    e.顶边距2cm:
    oExcel.ActiveSheet.PageSetup.TopMargin = 2/0.035
    f.底边距2cm:
    oExcel.ActiveSheet.PageSetup.BottomMargin = 2/0.035
    g.左边距2cm:
    oExcel.ActiveSheet.PageSetup.LeftMargin = 2/0.035
    h.右边距2cm:
    oExcel.ActiveSheet.PageSetup.RightMargin = 2/0.035
    i.页面水平居中:
    oExcel.ActiveSheet.PageSetup.CenterHorizontally = 2/0.035
    j.页面垂直居中:
    oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.035
    k.打印单元格网线:
    oExcel.ActiveSheet.PageSetup.PrintGridLines = True

    15) 拷贝操作:

    a.拷贝整个工作表:
    oExcel.ActiveSheet.Used.Range.Copy
    b.拷贝指定区域:
    oExcel.ActiveSheet.Range( "A1:E2" ).Copy
    c.从A1位置开始粘贴:
    oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
    d.从文件尾部开始粘贴:
    oExcel.ActiveSheet.Range.PasteSpecial

    16) 插入一行或一列:
    a. oExcel.ActiveSheet.Rows(2).Insert
    b. oExcel.ActiveSheet.Columns(1).Insert

    17) 删除一行或一列:
    a. oExcel.ActiveSheet.Rows(2).Delete
    b. oExcel.ActiveSheet.Columns(1).Delete

    18) 打印预览工作表:
    oExcel.ActiveSheet.PrintPreview

    19) 打印输出工作表:
    oExcel.ActiveSheet.PrintOut

    20) 工作表保存:
    if not oExcel.ActiveWorkBook.Saved then
    oExcel.ActiveSheet.PrintPreview

    21) 工作表另存为:
    oExcel.SaveAs( "C:\Excel\Demo1.xls" )

    22) 放弃存盘:
    oExcel.ActiveWorkBook.Saved = True

    23) 关闭工作簿:
    oExcel.WorkBooks.Close

    24) 退出 Excel:
    oExcel.Quit

    (二) 使用VBS 控制Excle二维图

    1)选择当第一个工作薄第一个工作表
    set Sheet=oExcel.Workbooks(1).Worksheets(1)

    2)增加一个二维图
    achart=oSheet.chartobjects.add(100,100,200,200)

    3)选择二维图的形态
    achart.chart.charttype=4

    4)给二维图赋值
    set series=achart.chart.seriescollection
    range="sheet1!r2c3:r3c9"
    series.add range,true

    5)加上二维图的标题
    achart.Chart.HasTitle=True
    achart.Chart.ChartTitle.Characters.Text=" Excle二维图"

    6)改变二维图的标题字体大小
    achart.Chart.ChartTitle.Font.size=18

    7)给二维图加下标说明
    achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
    achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下标说明"

    8)给二维图加左标说明
    achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
    achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左标说明"

    9)给二维图加右标说明
    achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
    achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右标说明"

    10)改变二维图的显示区大小
    achart.Chart.PlotArea.Left = 5
    achart.Chart.PlotArea.Width = 223
    achart.Chart.PlotArea.Height = 108

  • [VBS] Excel文件操作

    2011-04-13 11:34:41

     

    转载:http://www.51testing.com/?uid-235643-action-viewspace-itemid-222904

    '################################################
    '## 功    能:打开指定路径的Excel文件              ##
    '## 输入参数:Excel路径                          ##
    '## 输出参数:无                                ##
    '## 创建日期:2010-01-24                        ##
    '## 修改日期:2010-01-24                         ##
    '################################################

    Function xls_OpenExcelFile(FilePath)

    Dim ExcelApp

    Dim ExcelBook

    Set ExcelApp = CreateObject("Excel.Application")       '创建Excel对象
    Set ExcelBook = ExcelApp.Workbooks.Open (FilePath)     '打开指定路径的Excel表格

        ExcelApp.Visible = true                   'true 为显示excel对象,false为不显示

    Set ExcelSheet = ExcelApp.Sheets.Item(1)      '选择指定Sheet页

    '
    '单元格操作代码区域
    '
    '

          ExcelBook.Save                          '保存工作
          ExcelApp.Quit                           '退出Excel对象
    Set ExcelApp = nothing                        '释放Excel对象

    End Function

    '################################################
    '## 功    能:创建指定路径的Excel文件             ##
    '## 输入参数:Excel文件路径                      ##
    '## 输出参数:无                                ##
    '## 创建日期:2010-01-24                        ##
    '## 修改日期:2010-01-24                        ##
    '################################################

    Function xls_CreateExcelFile(FilePath)

    Dim ExcelApp

    Dim ExcelSheet

    Set ExcelApp = CreateObject("Excel.Application")    '定义一个excel对象
        ExcelApp.Workbooks.Add                          '新建一个excel实例
        ExcelApp.Visible = true                         '显示excel对象
    Set ExcelSheet = ExcelApp.Sheets.Item(1)            '获取工作簿的第一个Sheet页
    '   ExcelApp.Sheets.Item(1).Select                  '获取工作簿的第一个Sheet页,同样效果

    ''''单元格操作代码区域

    '''''例如:    ExcelSheet.cells(1,1).value = "abcd"               


        ExcelApp.ActiveWorkbook.SaveAs FilePath         '保存工作表
        ExcelApp.Quit                                   '退出Excel对象
    Set ExcelApp = nothing                              '释放Excel对象

    End Function

     

    '***********************************************************************
    '函数说明:更改单元格字体的颜色
    '参数说明:
    '          (1)Set_wkSheet工作表名称
    '          (2)row:列的序号;
    '          (3)column:行的序号;
    '          (4)lx:类型,(zt:字体;dyg:单元格),空或其他为字体。
    '          (5)color:将字体改变为什么颜色
    '
    '常数                        值                描述
    'vbBlack                &h00                黑色
    'vbRed                        &hFF                红色
    'vbGreen                &hFF00                绿色
    'vbYellow                &hFFFF                黄色
    'vbBlue                        &hFF0000        蓝色
    'vbMagenta                &hFF00FF        紫色
    'vbCyan                        &hFFFF00        青色
    'vbWhite                &hFFFFFF        白色
    '
    '***********************************************************************
    Function AlterColor(Set_wkSheet,row,column,lx,Color)
       Dim wksheet1
       Dim cell
       Set wkSheet1 = wkBook.Worksheets(Set_wkSheet)
       Set cell=wkSheet1.Cells(row, column)
        Select Case lcase(lx)
                       Case "zt" cell.Font.Color=color '改变字体颜色
                       Case "dyg" cell.Interior.Color=color '改变单元格颜色
                       Case Else cell.Font.Color=color
              End Select
       set wkSheet1 = Nothing
    End Function
     
     
    '***********************************************************************
    '函数说明:打开Excel文件。
    '参数说明:
    '         path:要调用的Excel文件的路径        .如("c:\test.xls")
    '         open: 是否打开Excel程序打开文件,Y为使用,空或其他为不使用
    '***********************************************************************
    Sub OpenExcel(path,open)
            Set ExcelApp = CreateObject("Excel.Application")
            Set wkBook = ExcelApp.workbooks.open(path)
            If pen="y" Then
            ExcelApp.Application.Visible=True
            End If
    End Sub
     
     
    ***********************************************************************
    '函数说明:向excelSheet单元格输入值。
    '参数说明:
    '          (1)Set_wkSheet工作表名称
    '          (2)row:列的序号;
    '          (3)column:行的序号;
    '          (4)value:要输入的值
    '***********************************************************************
    Function SetCellValue(Set_wkSheet,row,column,value)
       Dim wksheet1
       Set wkSheet1 = wkBook.Worksheets(Set_wkSheet)
       wkSheet1.Cells(row, column) = value
       Set wkSheet1
    End Function

     

  • [VBS] Excel文件格式设置

    2011-04-13 11:30:17

    转载:http://www.51testing.com/?uid-235643-action-viewspace-itemid-222907

    '''打开已存在文件'''''

    set ExcelApp = CreateObject("Excel.Application")    
    set ExcelBook = ExcelApp.Workbooks.Open (filepath)   
    Set ExcelSheet = ExcelApp.Sheets.Item(1)     '''''指定sheet编号

    '''''设置属性'''''

    With ExcelSheet                            '''''描述性编程 With 与 End With 配对

    ''''' .Name = "apple"                     '''''用来指定sheet,也可不用.使用时必须与sheet编号相对应

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''
    '''''设置列宽'''''
    ''''''''''''''''''

        .Columns("A:A").ColumnWidth = 20
        .Columns("B:B").ColumnWidth = 15
        .Columns("C:C").ColumnWidth = 10
        .Columns("D:D").ColumnWidth = 25
        .Columns("E:E").ColumnWidth = 20
        .Columns("F:F").ColumnWidth = 10

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Columns("A:f").ColumnWidth = 20      '''''指定从A列至F列的列宽
    '   .Columns("b").ColumnWidth = 20        '''''指定b列列宽
    '   .Columns("F").ColumnWidth = 20        '''''指定F列列宽
    '   .Columns("A:A").ColumnWidth = 20      '''''指定A列列宽
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    ''''''''''''''''''''''''''''''''''''
    '''''设置行高'''''''''很少使用此设置
    ''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''行高至少>10
        .Rows(1).RowHeight = 15
        .Rows(2).RowHeight = 20
        .Rows(3).RowHeight = 25
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''''''''''''''''''''''
    '''''设置显示区域的字体类型和大小'''''
    ''''''''''''''''''''''''''''''''''''''

    ''''''''''''''''''
    '''''字体类型'''''
    ''''''''''''''''''
                      
        .Range("A:A").Font.Name = "Arial"
        .Range("B:B").Font.Name = "宋体"
        .Range("C:C").Font.Name = "黑体"
        .Range("D:D").Font.Name = "新宋体"
        .Range("E:E").Font.Name = "Times New Roman"
        .Range("F:F").Font.Name = "Times New Roman"

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("A:D").Font.Name = "Arial"  
    '   .Range("a:b").Font.Name = "Arial"
    '   .Range("A:f").Font.Name = "Arial"
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''
    '''''字体大小'''''
    ''''''''''''''''''

        .Range("A:A").Font.Size = 12  
        .Range("B:B").Font.Size = 16
        .Range("C:C").Font.Size = 20

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("A:F").Font.Size = 6  
    '   .Range("a:b").Font.Size = 8
    '   .Range("A:f").Font.Size = 10
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''''''''
    '''''给指定区域赋值'''''
    ''''''''''''''''''''''''

        .Range("A1").Value = "用例名称"             
        .Range("B1").Value = "测试号码"
        .Range("C1").value = "号码类型"
        .Range("D1").value = "执行时间"
        .Range("E1").value = "检查点描述"    
        .Range("F1").value = "检查结果"

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("a1").Value = "for"             '''''A1单元格内容为 for
    '   .Range("b:b").Value = "test"           '''''B列内容都为 test
    '   .Range("c:A").Value = "test"           '''''从A列至C列的内容均为 test
    '   .Range("a3:F3").Value = "great"        '''''第三行,从A至F列均为 great
    '   .Range("b3:E6").Value = "day"          '''''从B3单元格至E6单元格矩形区间范围的值均为 day
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''
    '''''合并居中'''''
    ''''''''''''''''''

        .Range("B1:C1").Merge                  '''''B1单元格与C1单元格合并居中

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("a:f").Merge                    '''''A列至F列合并居中
    '   .Range("B3:g7").Merge                  '''''从B3单元格至G7单元格矩形区间合并居中
    '   .Range("a2:f2").Merge                  '''''A2,B2,C2,D2,E2,F2单元格合并居中
    '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''设置文字颜色'''''颜色取值范围:0~56''0为无颜色''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''

        .Range("A1").Font.ColorIndex = 5

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("g:G").Font.ColorIndex = 48       '''''G列的字体颜色设为48
    '   .Range("A:c").Font.ColorIndex = 28       '''''A列至C列的字体颜色设为 28
    '   .Range("b2:c2").Font.ColorIndex = 3      '''''B2至C2单元格字体颜色设为 3
    '   .Range("A1:c4").Font.ColorIndex = 9      '''''A1至C4单元格矩形区间字体颜色设为 9
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''
    '''''加粗'''''
    ''''''''''''''
        
        .Range("A1").Font.Bold = True             

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '   .Range("g:G").Font.Bold = True           '''''G列的字体设为粗体
    '   .Range("A:C").Font.Bold = True           '''''A列至C列的字体设为粗体
    '   .Range("b3:g5").Font.Bold = True         '''''B3至G5单元格矩形区间的字体设为粗体
    '   .Range("c1:G1").Font.Bold = True         '''''C1至G1单元格的字体设为粗体
    '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''
    '''''对齐方式'''''
    ''''''''''''''''''

    '''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''' 1     常规方式   '''''''''''''''
    ''''''''''''''' 2     左对齐     '''''''''''''''
    ''''''''''''''' 3     居中       '''''''''''''''
    ''''''''''''''' 4     右对齐     '''''''''''''''
    ''''''''''''''' 5     填充方式   '''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''

        .Range("A:A").HorizontalAlignment = 4        '''''右边对齐   A列所有行
        .Range("B:B").HorizontalAlignment = 1        '''''常规方式
        .Range("C:C").HorizontalAlignment = 2        '''''左对齐
        .Range("D:D").HorizontalAlignment = 3        '''''居中
        .Range("E:E").HorizontalAlignment = 5        '''''填充方式

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '
    '
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    ''''''''''''''''''''''''''''''''''''''''''''''
    '''''单元格背景'''''取值范围0~56'''0为无颜色''
    ''''''''''''''''''''''''''''''''''''''''''''''

        .Range("A1:F1").Interior.ColorIndex = 45

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '
    '
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''' 以下语句可以显示所有颜色对应的数值
    ''''' For i=1 to 56
    '''''    A="A"&i
    '''''    B="c"&i
    '''''    .Range(A).Interior.ColorIndex = i
    '''''    .Range(B).Value = i  
    ''''' NEXT
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    ''''''''''''''''''''
    '''''单元格边框'''''
    ''''''''''''''''''''

    '''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''    Borders参数    '''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''' 1     左边框     '''''''''''''''
    ''''''''''''''' 2     右边框     '''''''''''''''
    ''''''''''''''' 3     上边框     '''''''''''''''
    ''''''''''''''' 4     下边框     '''''''''''''''
    ''''''''''''''' 5     左斜线     '''''''''''''''
    ''''''''''''''' 6     右斜线     '''''''''''''''
    ''''''''''''''' 不可为0          '''''''''''''''
    ''''''''''''''' 其余作用未知     '''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''' Linestyle参数    '''''''''''''''
    ''''''''''''''' 设置边框线条格式 '''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''' 0     不显示     '''''''''''''''
    ''''''''''''''' 1     实线条显示 '''''''''''''''
    ''''''''''''''' 其余参数未知     '''''''''''''''
    ''''''''''''''' 不常用           '''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''

        .Range("A:F").Borders(1).LineStyle. = 1
        .Range("A:F").Borders(2).LineStyle. = 1
        .Range("A:F").Borders(3).LineStyle. = 1
        .Range("A:F").Borders(4).LineStyle. = 1

    '''''''''''''''''''''''''''''''''''''''''''''''以下设置方式均合法
    '
    '
    '
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


    End with

    '''''保存退出'''''

        ExcelBook.Save                  
        ExcelBook.Close                  
    Set ExcelBook = nothing
        ExcelApp.Quit    

  • 解决ExecuteFile调用外部的VBS文件时提示”无效字符”的问题

    2011-04-12 19:45:43

    出现这个问题的原因:
    QTP新建的Function Library文件是以Unicode编码被保存下来的,而正常执行的文件一定要是ANSI编码,所以导致出现”无效字符”的提示

    解决办法:
    1. 用记事本打开该vbs文件,然后点击”另存为”,编码选择”ANSI”,覆盖掉原来的文件即可
    2. 对于要用ExecuteFile引用的vbs文件,最好用记事本或其它编辑工具保存为ANSI编码的,QTP只能保存成Unicode的所以不要用QTP(这也算是QTP的一个bug)


  • QTP如何用脚本关闭对象的智能识别

    2011-03-18 09:46:01

    如果是要在脚本执行过程中禁用所有的智能识别,那只需要在开头加上
    Dim App
    Set App = CreateObject("QuickTest.Application")
    App.Test.Settings.Run.DisableSmartIdentification = True

    如果只是要禁用部分对象的智能识别,比如禁用WebEdit的智能识别,就是
    Dim App
    Set App = CreateObject("QuickTest.Application")
    App.Options.ObjectIdentification("webedit").EnableSmartIdentification = False
    同样,禁用Browser的智能识别就是
    App.Options.ObjectIdentification("browser").EnableSmartIdentification = False
  • you do not have permissions to run

    2011-03-03 17:15:45

    在本机的QC里运行另外一台电脑创建的QTP脚本,操作失败

    错误日志:

    you do not have permissions to run tests on this machine.You can change this option in your testing tool's Options dialog box.

    解决方法:

    在qtp下设置  options -->run -->勾选Allow other Mercury Products to run tests and components.

  • QTP无法录制的控件的解决方法

    2011-03-02 14:20:02

    1, 添加相应的Add-in是解决此类问题的第一选择,如果有相应的Add-in的话。例如如果是测试 Java 类的程序,就要加载 Java Add-in。
    2,把不能识别的对象设置为虚拟对象(Virtual Object)
         依次点击 QTP 的 “Tools” ---> "Virtual Objects"--->"New Virtual Object...", 就会出现 Virtual Object Wizard 对话框,你根据Wizard  的指引,就可以把添加一些支持的不好的控件设置成虚拟控件,也就添加到对象库了。
    3,把QTP不能录制的对象手工添加到object repository, 然后写代码实现 需要的操作。

    4,针对特殊问题有特殊的解决方法。如果不能识别的控件是用VC做的,那么你可以自己写一个动态链接库,然后让QTP去调用它。至于QTP 如何调用动态链接库,请看附件。

  • QTP10/11的破解方法(含mgn-mqt82)

    2011-02-24 11:24:10

    QTP10破解方法:

    1.下载安装QTP。
    2.在C:\Program Files\Common Files\Mercury Interactive下创建文件夹:License Manager
    3.将破解工具mgn-mqt82.exe复制到C:\Program Files\HP\QuickTest Professional\bin下。
    4.运行mgn-mqt82.exe,ok,关闭。
    5.用记事本打开License Manager下的lservrc文件,将第一行 # 前的代码Copy。
    6.将代码paste到license向导中的license输入的地方,就可以了

     

    net插件破解
    第一步:完成安装.net插件,这是,插件界面会显示出.net和WPF插件,并且有14天的测试license
    第二步:正常使用,等14天过完之后,也就是插件的状态变为 no license 之后(其实不需要等到过期),将HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive备份
    第三步:找到HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Add-In Manager\WPF,将名称为“默认”的键值修改为“QTCoreAddin”,再将“ProgID”的键值修改为“Mercury.AddinBaseObj”
    第四步:同理,找到HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Add-In Manager\WinForms,将将名称为“默认”的键值修改为“QTCoreAddin”,再将“ProgID”的键值修改为“Mercury.AddinBaseObj”
    第五步:关闭注册表,重启软件,.net插件和WPF插件的状态都已经变成了licensed状态

     


    java插件破解
    第一步:完成安装java插件,这是,插件界面会显示出java插件,并且有14天的测试license
    第二步:正常使用,等14天过完之后,也就是插件的状态变为 no license 之后(其实不需要等到过期),将HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive备份
    第三步:找到HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Add-In Manager\Java,将名称为“默认”的键值(QTExternalAddin)修改为(QTExternalAddin)“QTCoreAddin”,再将“ProgID”的键值(Mercury.JavaAddinObj)修改为“Mercury.AddinBaseObj”
    第四步:关闭注册表,重启软件,Java插件的状态已经变成了licensed状态

    其中mgn-mqt82.exe与qtp8、qtp9的破解文件相同。

     

    QTP11的破解方法:

    1. 找到 C:\ProgramData\SafeNet Sentinel或C:\Documents and Settings\All Users\Application Data 目录,更名或者删除.

    2. 找到 QTP11 安装目录下bin子目录,如 C:\Program Files (x86)\HP\QuickTest Professional\bin,执行 instdemo.exe.(win7以管理员权限执行.) 此方法win7 64bit 可行.

  • RFT学习--环境配置

    2010-11-30 13:59:09

    我将介绍四个重要的配置:

    配置测试报告类型
    配置回放等待参数
    配置补全内容(Complete Word)
    配置JRE/JDK



    一、配置测试报告类型

    打开RFT,切换到Functional Test视图下(一般默认就是这个视图),在上面的Menu,点击“窗口” 〉 “首选项”

    在左面的展开Functional Tester, 然后展开“回放”,最后点击“日志记录”
    在右侧选择“日志类型”,后面的例子都会使用html类型的测试报告,所以这里选择html(如下图),然后点击“应用”和“确定”按钮

     

    二、配置回放等待参数

    当RFT要回放点击一个按钮,RFT首先在寻找当前电脑上是否存在该按钮,如果存在则进行点击,如果不存在根据配置决定是否等待一段时间再寻找该按钮

    打开RFT,切换到Functional Test视图下(一般默认就是这个视图),在上面的Menu,点击 “窗口”〉 “首选项”
    在左面的展开Functional Tester, 然后展开“回放”,最后点击“回放”
    在右边的2两个域内进行修改(如下图)

     

    三、配置补全内容(Complete Word)

    这个小功能比较实用,是Eclipse自己的功能,有的版本默认是Ctrl+Space,有的版本则是Ctrl+/

    打开RFT,切换到Functional Test视图下(一般默认就是这个视图),在上面的Menu,点击 “窗口”〉 “首选项”
    在左面的展开“常规”, 然后点击“键”
    在过滤文本框里输入‘内容辅助,点击下面过滤出来的“内容辅助”命令,然后可以在下放“绑定”处进行修改(如下图)
    最后点击“应用”和“确定”按钮


     

    四、配置JRE/JDK

    这是Eclipse自带的功能,这里提出来主要是因为一般默认都是IBM自己的JDK,有时版本比较滞后,我个人比较喜欢换成较新的JDK,视情况而定

    打开RFT,切换到Functional Test视图下(一般默认就是这个视图),在上面的Menu,点击 “窗口”〉 “首选项”
    在左面的展开Java,点击“已安装的JRE”

    然后在右边进行添加或者修改(如下图)


     

  • RFT学习--适用范围

    2010-11-30 13:34:43

          最近开始学习RFT,在网上发现关于RFT的资料少之又少,所以我准备一边学习使用RFT的一些知识,一边进行知识的总结归纳,供日后巩固复习。


          首先这里的RFT的全称是Rational Functional Tester,是IBM Rational支持的自动化测试工具。它的前身是Rational JRobot, Rational XDE Tester。

          任何一款自动化测试工具都有一定适用范围,从市场占有率就可以看出来RFT绝对没有QTP(HP Quick Test Pro)那么宽广的适用范围。虽然IBM一直都在宣称支持大部分主流前台技术,实际上,RFT的适用范围并不像广告的那样漂亮。

    RFT的适用范围如下:

          Html类(包括Ajax),Java类(比如Swing,SWT)被测系统。针对这几类被测系统,RFT一直有着漂亮稳定的发挥。配合强大的IDE和API,用户几乎可以实现所有操作。我的同事曾经使用RFT测试PowerBuilder、VB和Flex的系统,就会时常碰到很难实现甚至无法实现的操作。所以在选择工具之初,一定要仔细考察工具和被测系统的适用情况。
    具有Java背景,Eclipse使用经验的自动化测试团队。RFT的IDE是IBM基于Eclipse开发而成,其本质就是Eclipse的一个plugin。同时RFT的脚本语言是Java,所以对于Java背景的程序员来说,掌握RFT其实是件比较轻松的事情。业界普遍认同脚本语言(如VB)更适合作为自动化测试的脚本语言而不是像Java那样的面向对象的语言,同时高版本的RFT也支持使用VB编辑脚本,但是我认为就RFT工具本身来说,Java是有其自己的优势,那就是强大的Java社区,比如Apache家族,Spring。

          第3点是可选的,它就是IBM公司的业务影响力。很多公司都和IBM保持着良好业务往来,IBM往往就会把自己下面的一些软件工具(比如Rational Rose,Rational Functional Tester)以较低的价格甚至是免费提供给合作伙伴。这样如果RFT可以满足前两点的话,RFT就成了非常有性价比的自动化测试工具,也比较容易被Boss们所接受。这里要强调一点,无论如何做足调研的工作。尤其当不是第一点中的两类系统的时候,需要加倍的仔细。否则即便是免费的工具,它也会严重地影响自动化测试的成败。

312/2<12
Open Toolbar