发布新日志

  • QTP中录制右键弹出菜单的方法

    2007-09-29 15:10:27

    在web页面直接录制右键弹出菜单的操作是不行的,但是可以通过获得webElement获得右键的元素,然后使用Click()函数,将函数中micLeftBtn(这个默认值)改为micRightBtn即可.

  • TD中运行IE7.0兼容问题处理方法

    2007-09-21 13:53:54

    谢谢Mick Gao!

  • QTP中VBA Excel的使用方法

    2007-07-02 16:23:51

    1.COM组件"Microsoft Excel 9.0 Object Library":即安装了EXCEL软件。

    2.在通用对象的声明过程中定义EXCEL对象:

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.WorkBook
    Dim xlSheet As Excel.Worksheet

    3.在程序中操作EXCEL表常用命令:

    Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
    Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
    xlApp.Visible = True '设置EXCEL对象可见(或不可见)
    Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表
    xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值
    xlSheet.PrintOut '打印工作表
    xlBook.Close (True) '关闭工作簿
    xlApp.Quit '结束EXCEL对象
    Set xlApp = Nothing '释放xlApp对象
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏

    =========================================================

    获得Excel sheet中已使用的行和列数

    xlsRowCount = wkSheet.UsedRange.Rows.Count
    xlsColumnCount = wkSheet.UsedRange.Columns.Count

    ===================================================

    获得Excel sheet 的当前行号

    wkSheet.Application.ActiveCell.cells.row

     

  • 一个对象在同一个页面上出现多次时,可以使用附加属性index来解决.

    2007-06-13 11:26:56

    比如:网络硬盘页面上出现了2次<网络硬盘>的链接,使用下面的语句时,QTP运行时会报错

    Browser("title:=上海Ceno soft").Page("title:=上海Ceno soft").Link("name:=网络硬盘").Click

    这是因为Link("name:=网络硬盘")在页面上存在了两次,所以需要修改称:

    Browser("title:=上海Ceno soft").Page("title:=上海Ceno soft").Link("name:=网络硬盘", "index:=0").Click

    这样就ok了

  • QTP与Oracle数据库链接脚本

    2007-06-11 10:46:26

    1)首先要在控制面板中,加一个odbc数据源。
    (2)在qtp中建立连接和记录集
    set cnn=createobject("adodb.connection")
    set ōbjrsa=createobject("adodb.recordset")
    (3)连接数据库
    cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"
    userid/password,是登陆数据库的用户名和密码,这样数据库就连接上。
    (4)对数据库进行操作。
    objrsa.open "select bustypefullname from bustypeinfo",cnn,3,2
    a=objrsa("bustypefullname").value得到字段bustypefullname的值赋值给了变量a

    需要参考ADO

    http://doc.51windows.net/ado/?url=/ado/dir.htm

    例子:

    '删除网络硬盘下所有的文件夹和文件
    '@userName 用户名
    '@domainName 用户所在域名
    Function delAll(userName, domainName)
     Dim wfType
     Dim var
     wfType = 0  ' 0为该用户的跟目录的起始点
     
     Dim rs,sql,pkey,domainId, userId
     set conn=createobject("adodb.connection")
     set rs =createobject("adodb.recordset")
     
     ' Oracle client is required to be installed on your box
    conn.open= "Provider=OraOLEDB.Oracle.1;Password=umail;Persist Security Info=True;User ID=umailrc;SERVER=192.168.6.245;Data Source=umail;DBQ=umail;"
     sql="select domainid from domain where domainname='" & domainName & "'"
     rs.open sql,conn '执行sql语句
     domainId = rs("domainId")
       rs.close
     sql = "select userid from email_users where username= '" & userName & "' and domainId = '" & domainId &"'"
      rs.open sql,conn
     userId = rs("userid")
       rs.close
     sql = "delete from wfs_files where WF_OWNER_ID = '" & userId &"' and WF_TYPE<>0"
     rs.open sql,conn
     sql = "select count(*) from wfs_files where WF_OWNER_ID = '" & userId &"'"
     rs.open sql, conn
     var = rs(0)
     If var = "1" Then
      reporter.ReportEvent micPass, "清空网络硬盘中所有文件和文件夹", "清空成功"
       conn.close
      set conn=nothing '删除对象
     Else
      reporter.ReportEvent micFail, "清空网络硬盘中所有文件和文件夹", "清空失败"
      
     End If
     
      
    End Function


     

  • QTP:IE自动弹出下载窗口设置

    2007-06-08 11:30:10

    为了解决录制过程中显示弹出窗口问题,需要在IE浏览器中如下设置:

     

  • QTP链接Oracle

    2007-06-08 10:25:15

    要从QTP链接Oracle,前提是已安装好Oracle客户端。

    然后在 Oracle Net Configuration Assistant 中完成配置:

    1. 监听程序配置,默认即可。
    2. 命名方法配置:本地。
    3. 本地Net服务名配置-添加-选择<Oracle8i或更高版本数据库或服务>-DBName(可以写成你要链接的数据库名,也可以自己定义,但是要记住,因为这个名字会在QTP数据库链接设置<TNS Service Name>中用到)-选择协议<TCP>(根据实际情况)-设置主机名:192.168.6.245(数据库所在电脑的IP或是机器名),并根据实际情况设置段口号,默认为1521-进行测试,提示成功就说明在Oracle客户端建立数据库链接成功了。恭喜你。
    4. QTP端设置:Insert-CheckPoint(也可以是Output Value)-DataBase CheckPoint-Specify SQL statement manually-Create-机器数据源-新建-用户数据源(或是系统数据源)-选择<Oracle in OraHome92>-下一步-完成-(真正的数据库链接来了)-Data Source Name <DBName>(数据库名)-Descrīption,可以随便填息-TNS Service Name <DBName>(这里的设置要和第4步中的DBName一致,这个就是QTP和Oracle管理的地方)-User ID <loginDBName>(登陆数据库的用户名)-测试连通:Test Connection-Password(用户登陆数据库的密码)-ok-如果连通了,说明设置成功了。

    :)

  • [论坛] 将一个输入值作参数化后,运行时为什么只跑了一次,使用了第一个参数.

    2007-05-10 14:27:55

    请问要如何解决?

    问题解决,是Action设置的问题,
    将Action Call Properties(右击Action)中的Run卡设置为“Run on all rows”就可以了
     
    如果是自己编写的脚本,可能是因为没有在循环的最后加:DataTable.SetNextRow
Open Toolbar