我相信:一片叶子也能倾倒整个季节

发布新日志

  • 死链检查工具

    2008-08-30 18:02:34

    页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。
  • (转)QTP中连接MySQL的方法

    2008-07-15 20:15:46

    QTP中连接MySQL的方法(数据库验证点和ADO连接)

    2008-06-29 18:28:00 / 个人分类:原创文章

    很多朋友对于QTP中连接MYSQL束手无策,其实根本原因是默认的我们的操作系统中ODBC驱动里默认不支持开源的MySQL驱动。51Testing软件测试网sL)[ZK'p r} B
    要解决这个问题的方法非常简单,安装一个相关的驱动就能解决问题了。
    7pQf_-q0b Y]/N46301 这里给出这个驱动程序的下载地址: MyODBC-3.51.11-2-win.exe
    lL[a0o46301 安装完毕后,到“控制面板--管理工具--数据源ODBC--系统DSN”把它添加进来,步骤见下面截图qtpmysqsl1.JPG到qtpmysqsl5.JPG(我在本机上安装了一个Discuz论坛)。51Testing软件测试网(mM5{ a&\,x6b^
    添加完毕后,就可以开始使用了。
    4W#C%P-_o4ZO46301 以下给出具体的实现过程
    uVtWk5[-B#EYg46301 (一)数据库验证点:51Testing软件测试网L })I(O$b tW'k(x
    见下面截图 qtpmysqsl6.JPG 到 qtpmysqsl9.JPG
    P%^{d$r+V46301 (二)ADO连接MySQL数据库的代码:
    +D8[(Xrw_d7n,r46301 例子(获取论坛中的帖子主题和内容):

    CODE:

    Dim Cnn, Rst, strCnn51Testing软件测试网m+n ?!sP0^Tb
    51Testing软件测试网!B!Qt6gt@T G
    strCnn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=discuz;USER=root;Option=3"
    $X v2Ko}(AE ^46301 Set Cnn = CreateObject("ADODB.connection")51Testing软件测试网 \.}~4Wa {
    Cnn.Open strCnn51Testing软件测试网C/OR dA(^%b\Wr
    Set Rst = CreateObject("ADODB.Recordset")
    |nz(G7h46301 Rst.Open "select * from cdb_posts", Cnn51Testing软件测试网;X7x/Re2~H
    Rst.MoveFirst
    8k)s'uYqtJ46301 While Rst.EOF <> True
    r(Un3T:Ys"O46301     MsgBox Rst.Fields("subject") & Chr(13) & Chr(10) & Rst.Fields("message") & Chr(13) & Chr(10)
    0Ip,w8q.\)e46301     Rst.MoveNext51Testing软件测试网8]B%P8z'l V
    Wend51Testing软件测试网1GY1N V3V v|
    Rst.Close51Testing软件测试网(x.wMjr(}
    Cnn.Close
    -T.N/j,m"Fq!^46301 51Testing软件测试网 ? H%\ @;Mf
    Set Rst = Nothing
    z5t/i-g&hg&WX46301 Set Cnn = Nothing
    51Testing软件测试网9s[:X&I H3nv;s N~
    51Testing软件测试网Ft-KHDF
    qtpmysqsl1.JPG51Testing软件测试网P4Q@q-w3~

    /y`E"\h2n6C(O46301qtpmysqsl2.JPG
    b*|;|Tob4630151Testing软件测试网"xj}_5S-z|`
    qtpmysqsl3.JPG
    %e"c6@{y&ERD?Y46301
    A:bJ$C3[:@~OK46301qtpmysqsl4.JPG51Testing软件测试网!^ Hbe#o)L F
    51Testing软件测试网8E o-\B\ fO.b K
    qtpmysqsl5.JPG51Testing软件测试网 ym_1k L2m Jgl

    wt} d*I@~%Y2H[46301qtpmysqsl6.JPG
    9dbe!Y}t5Z9^9c4630151Testing软件测试网7dSl#YB9X%s
    qtpmysqsl7.JPG51Testing软件测试网1a:y*Q9~9q*{
    51Testing软件测试网0f h7^5B6\x U3ubJ7d
    qtpmysqsl8.JPG51Testing软件测试网-o _4cw I)|)t8X
  • 编写正则表达式

    2008-04-09 15:37:03

    <%
    Function RegExpTest(patrn, strng)
    Dim regEx, Match, Matches '建立变量。
    Set regEx = New RegExp '建立正则表达式。
    regEx.Pattern = patrn '设置模式。
    regEx.IgnoreCase = True '设置是否区分字符大小写。
    regEx.Global = True '设置全局可用性。
    Set Matches = regEx.Execute(strng) '执行搜索。
    For Each Match in Matches '遍历匹配集合。
    RetStr = RetStr & "Match found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
    RetStr = RetStr & Match.Value & "'." & "<BR>"
    Next
    RegExpTest = RetStr
    End Function
    response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
    %>
    在这个例子中,我们查找字符串中有无is或者js这两个词,忽略大小写。运行的结果如下:
    Match found at position 0. Match Value is 'IS1'.
    Match found at position 4. Match Value is 'Js2'.
    Match found at position 8. Match Value is 'IS3'.
    Match found at position 12. Match Value is 'is4'.
    下面我们就介绍这三个对象和集合。
    1、RegExp对象是最重要的一个对象,它有几个属性,其中:
    ○Global 属性,设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 False。
    ○IgnoreCase 属性,设置或返回一个Boolean值,指明模式搜索是否区分大小写。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 False。
    ○Pattern 属性,设置或返回被搜索的正则表达式模式。必选项。总是一个 RegExp 对象变量。

    2、Match 对象
    匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问。 Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。所有的 Match 对象属性都是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。
    ○FirstIndex 属性,返回在搜索字符串中匹配的位置。FirstIndex 属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符 0
    ○Length 属性,返回在字符串搜索中找到的匹配的长度。
    ○Value 属性,返回在一个搜索字符串中找到的匹配的值或文本。

    3、Matches 集合
    正则表达式 Match 对象的集合。Matches 集合中包含若干独立的 Match 对象,只能使用 RegExp 对象的 Execute 方法来创建之。与独立的 Match 对象属性相同,Matches `集合的一个属性是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象都提供了与正则表达式匹配的字符串的访问入口、字符串的长度,以及标识匹配位置的索引。
    学习了这三个对象和集合,如何应用于字符串的判断和替换呢?regExp对象的三个方法正好解决了这个问题,它们是Replace方法、Test方法和Execute方法。
    1、Replace 方法
    替换在正则表达式查找中找到的文本。我们还是先看个例子:下面的例子说明了 Replace 方法的用法。
    <%
    Function ReplaceTest(patrn, replStr)
    Dim regEx, str1 ' 建立变量。
    str1 = "The quick brown fox jumped over the lazy dog."
    Set regEx = New RegExp ' 建立正则表达式。
    regEx.Pattern = patrn ' 设置模式。
    regEx.IgnoreCase = True ' 设置是否区分大小写。
    ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
    End Function
    Response.write ReplaceTest("fox", "cat") & "<BR>" ' 将 'fox' 替换为 'cat'。
    Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交换词对.
    %>
    2、Test 方法
    对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。
    如果找到了匹配的模式,Test方法返回True;否则返回False。下面的代码说明了Test 方法的用法。
    <%
    Function RegExpTest(patrn, strng)
    Dim regEx, retVal ' 建立变量。
    Set regEx = New RegExp ' 建立正则表达式。
    regEx.Pattern = patrn ' 设置模式。
    regEx.IgnoreCase = False ' 设置是否区分大小写。
    retVal = regEx.Test(strng) ' 执行搜索测试。
    If retVal Then
    RegExpTest = "找到一个或多个匹配。"
    Else
    RegExpTest = "未找到匹配。"
    End If
    End Function
    Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
    %>
    3、Execute 方法
    对指定的字符串执行正则表达式搜索。正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。
    Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。
  • 转)qtp中的数据库、文件操作

    2008-04-08 22:48:26

    qtp中的数据库、文件操作

    注:本文转载于http://www.51testing.com/?57326作者

    2008-04-07 21:06:15

    1.datatable

            QTP本身程序就给我们提供了这么一个数据表,我们可以把测试数据或测试用例填入这个数据表中.

    如:设计用例

       username  passwd

    case1  mercury mercury

    case2 xxxxxxx xxxxxx

    录制脚本

    For i=1 to Datatable.GetRowCount
    Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)
    Dialog("Login").WinEdit("Password:").Set DataTable("passwd", dtGlobalSheet)
    Dialog("Login").WinButton("OK").Click
    datatable.GlobalSheet.SetNextRow
    Next

            本例是验证一个登录系统,通过DataTable不同的用例设计,驱动起这段脚本,达到测试的效果.当然上面的例子中还少一个很重要的步骤,那就是结果比较.如果不能进行结果比较的自动化测试不能够称为自动化测试.
            当然我们这里主要讲的是数据驱动,所以不在对上面的例子进行补充.

    2.文本文件

            我们可以把文本文件当成数据文件,通过对文本文件的读写操作,来实现数据驱动.

    例:文本文件内的内容

      mercury,mercuy

    读文件的代码

    Function writeorderno(orderno)
    Dim fso, myfile,username,passwd
    Set fso=CreateObject("scrīpting.FileSystemObject")
    Set myfile=fso.openTextFile("C:\testing.txt",1,false)
    tmp=split(myfile.readline,",")
    username=tmp(0)
    passwd=tmp(1)
    myfile.close
    End Function

    写文本文件的代码

    Function writeorderno(orderno)
    Dim fso, myfile
    Set fso=CreateObject("scrīpting.FileSystemObject")
    Set myfile=fso.openTextFile("C:\result1.txt",8,false)
    myfile.writeline orderno
    myfile.close
    End Function

    3EXCEL文件

            我们可以把EXCEL文件当成数据文件,通过对EXCEL文件的读写操作,来实现数据驱动.

            可以把EXCEL文件当作对象的方式来完成写的操作

    Dim Excel,ExcelSheet
    Set Excel=CreateObject("Excel.Application")
    Set ExcelSheet=CreateObject("Excel.Sheet")
    ExcelSheet.Application.visible=true
    ExcelSheet.ActiveSheet.Cells(1,1).value=1
    ExcelSheet.ActiveSheet.Cells(1,2).value=2
    ExcelSheet.ActiveSheet.Cells(1,3).value=3
    Excel.Save "C:\test.xls"
    Set ExcelSheet=Nothing

            用ADO的方式连接EXCEL文件来做读的操作


    Dim conn,input,filename
    filename="D:\公基本情况(tb_gsgk)-标准格式.xls" '
    Set conn= createobject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&filename&";Extended Properties='Excel 8.0;hdr=yes'"
    Set input= createobject("ADODB.Recordset")
    input.Open "select * from [公基本情况-标准格式$] " ,conn,2,2
    input.close
    Set input=nothing

    4.数据库

            可以利用设计数据表,把测试数据和测试用例放在数据表里,用ADO或者其他任何可以访问连接数据库的方式连接数据库,来实现数据驱动

       Dim res,cmd,sql
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    Cmd.activeconnection="Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142"  '这句话是连接数据库的数据源,要做修改
    Cmd.CommandType = 1
    sql="selec t * from 表 where name=username"
    Cmd.CommandText = sql
    Set res = Cmd.Execute()
    Set res = nothing
    Set cmd.ActiveConnection = nothing
    Set Cmd= nothing

    以上四种方法都可以帮助我们实现数据驱动,应该说数据驱动在自动化测试中运用的比较的广泛,才有必要拿出来探讨一下.

  • QTP的登陆脚本设计(转)

    2008-03-22 14:35:51

    QTP的登陆脚本设计
    文章出处:51testing博客 作者:pcl 发布时间:2006-08-14

        由于一直以来事情都比较多,最近上课还有其它的事情,所以本来答应一个朋友把脚本帮他写一些,但是耽误了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

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

  • (转)QTP测试时,应用程序或者网页的最大化最小化控制

    2008-03-10 18:09:27

    QTP测试时,应用程序或者网页的最大化最小化控制

    字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 每周一问,答贴有奖

      在QTP测试中,在出现bug的地方,我们想通过截图留下证据,但是有时候可能网页不是最大化,使得我们截到了无关紧要的图像,在这里提供一些方法,可以尽量避免这种现象。

    1.截图可以
    使用QTP自带的函数例如
    只截取page,不包括上面的工具及导航栏
    Browser("社内システム").Page("社内システム").CaptureBitmap("D:\1.bmp)
    整个浏览器
    Browser("社内システム).CaptureBitmap("D:\1.bmp)
    由于这种截图只是一屏幕,不能截取到整个page
    所以,有时候我们也可以使用一些开源的截图工具,这样效果比较好。
    2.在截图之前先同步。针对于页面来说就是
    Browser("社内システム").Page("社内システム").Sync
    3.截图之前先最大化。
    应用程序的操作:
    winObject.Maximize   ---最大化
    winObject.Minimize    ---最小化
    winObject.Restore     ---返回到更菜的大小
    浏览器的操作:
    winObject.FullScreen   --- 效果如同F11的最大化
    winObject.Minimize       ---最小化

      4.针对于网页的最大化我们深入的学习一下,winObject.FullScreen 其效果如同F11的最大化,不是我们通常使用的最大化,有时候截图需要规范,要用到通常的最大化怎么办呢?
      其实浏览器(IE)对于操作系统来讲,也是一个应用程序,我们可以变相的实现“通常的最大化”
    Dim hwnd
    hwnd = Browser("Browser").GetROProperty("HWND")
    'msgbox cstr(hwnd)
    '将浏览器最大化
    Window("hwnd:=" & hwnd).Maximize
    Browser("Browser").Navigate "http://www.google.com/"
    '回复浏览器刚才的大小
    Window("hwnd:=" & hwnd).Restore
    '最小化浏览器
    Window("hwnd:=" & hwnd).Minimize
    这样我们变通的实现了IE的最大化,最小化,同事也能够还原到原来的大小。

  • QTP 常用函数(转)

    2008-01-30 16:09:09

    1.GetCellData函数 

      作用:获取单元格的值

      例:  rowCount = Browser("xxx ").Page("xxx ").Frame("xxx").WebTable("xxx").RowCount软件测试专业网站:51Testing软件测试网e6{k.X SO.x
    For counter = 1 To rowCount软件测试专业网站:51Testing软件测试网8S'\!~?%F2H x*Ifx
      text = Browser("xxx").Page("xxx").Frame("xxx").WebTable("xxx").GetCellData(counter,1)软件测试专业网站:51Testing软件测试网;Wl)[{1v X(YgP
      If (text = "xxx") Then
    2K%c3s.T#L!^9z.} S ~46301    counter = counter - 1
    .imw&a~p Y:\w;\0~46301    selectNO = "#" & counter软件测试专业网站:51Testing软件测试网`7J Pmd
        Browser("xxx").Page("xxx").Frame("xxx").WebRadioGroup("xxx").Select selectNO
    qLT8{y46301    Exit For
    (M:n j.K'P sEB46301  End If软件测试专业网站:51Testing软件测试网-q l)j;yl
    Next

    2.把值插入datatable里

      例:   datatable.setcurrentrow(i) 软件测试专业网站:51Testing软件测试网 R6AB7t m f
            datatable.value("name","Global")="name"软件测试专业网站:51Testing软件测试网0k"E*E5d'['z:~#b&h`;@
            datatable.value("passwd","Global")="passwd"

    3.用代码来启动浏览器

      Browser1 = "IE"
    -rw&\,PM(P'C0R:E7P+|"J7E46301  StartURL = "www.51testing.com"
    !o!r,] xT[46301  IF Browser1 = "IE" THEN 软件测试专业网站:51Testing软件测试网gtJi8K
         set IE = CreateObject("InternetExplorer.Application")软件测试专业网站:51Testing软件测试网Ft8_4O^!ZW-\.`&VF
         IE.Visible = true
    5s!uY(p-[46301     IE.Navigate StartURL
    u%Hwq"s+V46301  END IF软件测试专业网站:51Testing软件测试网"Xe$z#B pY
     

    4.ExecuteFile函数

      作用:ExecuteFile 可以直接执行vbs文件,而不需要将其导入resource中 软件测试专业网站:51Testing软件测试网2Oz|? X
           ExecuteFile FileName 软件测试专业网站:51Testing软件测试网*f s%TM*s3})k[,Mf
      说明:where FileName is the absolute or relative path of your VBscrīpt file.

      例:ExecuteFile("F:\test.vbs")

    5.Strcomp函数 

      作用:比较文本

      例:dim strtext1,strtext2,str ,str1,comp1
    B%B { u8crC9l46301     strtext1 = "xxx"
    +O8{ Tn m[46301     strtext2 = "xxx"
    +|%b xQ"mY#K(]46301     str = VbWindow("xxx").VbWindow("xxx").VbLabe1("xxx").GetTOProperty("text")软件测试专业网站:51Testing软件测试网:\d#a8AW g w ud6V&e
         str1= VbWindow("xxx").VbWindow("xxx").VbLabel("xxx").GetTOProperty("text")软件测试专业网站:51Testing软件测试网,C/` vLr$z-_ EE
         comp1=strcomp(strtext1,str,0)
    .k$nL#a%k0y6rJM*j%Z|46301     If  comp=0 Then
    -Z*S0s!i EGL(GY,h46301          msgbox “这两个串相等”
    XW1b_@ U:r(ODgr&c46301     else
    Al \4v%eGq"j46301       msgbox str软件测试专业网站:51Testing软件测试网Q#D$YB Hv dw-A
         End If 

    6.CaptureBitmap 

      作用:捕获屏幕

    7. GetROProperty

      作用:取对象属性值

      例:VbWindow("xxx").VbWindow("xxx").VbWindow("xxx").ActiveX("xxx").GetROProperty("TextMatrix(1,0)") 

    8.ExitAction - 退出当前操作,无论其循环属性如何。软件测试专业网站:51Testing软件测试网7^k7u9h(a oZ ~Iw
      ExitActionIteration - 退出操作的当前循环。软件测试专业网站:51Testing软件测试网?'_&t ^$n9Od
      ExitRun - 退出测试,无论其循环属性如何。软件测试专业网站:51Testing软件测试网*{)nM)b*D4[F}
      ExitGlobalIteration - 退出当前全局循环。


    R$iRF!bf|463019.如何使用Excel对象处理数据?
    7Z7C3[,ME3[d1anogP46301  Dim xl软件测试专业网站:51Testing软件测试网+q`^w_f#i
      打开excel文件软件测试专业网站:51Testing软件测试网 fh8j,e3Z#d@3^M7[M+u
      Function OpenExcelFile(strFilePath)软件测试专业网站:51Testing软件测试网*S(G)W {k%t#k0L.X"g1E$V
      Set xl = CreateObject("Excel.Application")
    8Q7CN!D@ Fz46301  xl.Workbooks.Open strFilePath软件测试专业网站:51Testing软件测试网} V3h ~ju(pI gq
      End Function软件测试专业网站:51Testing软件测试网h"N%WI ]q
      获得指定单元格数据
    (E%g8C+P-?O!r2qz;z46301  Function GetCellData(strSheet,rwIndex,colIndex)
    :PB-t?f2VD.Ug46301  GetCellData = xl.WorkSheets(strSheet).Cells(rwIndex,colIndex)软件测试专业网站:51Testing软件测试网:Zt^jUk"a8G
      End Function软件测试专业网站:51Testing软件测试网H6}*HeY
      填充单元格数据软件测试专业网站:51Testing软件测试网1yY5e*IJVq&l8iI
      Function PutCellData(strSheet,rwIndex,colIndex,varData)
    /{,Y%HLO-Kj ne j^46301  xl.WorkSheets(strSheet).Cells(rwIndex,colIndex) = varData软件测试专业网站:51Testing软件测试网&\:zIA1Lg a7z"V
      End Function软件测试专业网站:51Testing软件测试网 E*w'{O:~^0aCUk
      保存并推出软件测试专业网站:51Testing软件测试网'f\+oQ h#f/V@i
      Function SaveAndQuit()软件测试专业网站:51Testing软件测试网`&AAW!c!r D
      xl.Activeworkbook.save
    7WyY{KQ A46301  xl.Quit
    LG'r-b A?"m,M46301  Set xl = nothing软件测试专业网站:51Testing软件测试网0x4NJ|~%s6l:D
      End Function
    "p8Yqr(C,y,\-R46301

    10.连接sql数据库

      例:Dim res,cmd,sql软件测试专业网站:51Testing软件测试网8[&qb p.}m
         Set Res=createobject("adodb.recordset")
    S$u"Q6Y0B1dO D46301     Set Cmd=createobject("adodb.command")
    7Q;kijE t46301     Cmd.activeconnection="Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142"  '这句话是连接数据库的数据源,要做修改软件测试专业网站:51Testing软件测试网~ RDO| M ~)jS3CW/K#b
        Cmd.CommandType = 1
    amW1Uw Nq46301    sql="selec t * from 表 where name=username"软件测试专业网站:51Testing软件测试网*z _g,^ o G0_#t|
        Cmd.CommandText = sql
    .J.~e6U,l:Cp$l46301    Set res = Cmd.Execute()软件测试专业网站:51Testing软件测试网'T D+]xg0R*uz"E
        Set res = nothing软件测试专业网站:51Testing软件测试网 n2GWU:c J
        Set cmd.ActiveConnection = nothing软件测试专业网站:51Testing软件测试网8G1e(D}+i"r+g2?x(u
        Set Cmd= nothing

  • QTP中关掉进程(转)

    2007-11-22 15:29:41

    [资料]在QTP中关掉进程

    2007-07-03 20:33:54 / 个人分类:QTP

    这边举例关Outlook

    If Window("Microsoft Outlook").Exist Then
    hwnd = Window("Microsoft Outlook").GetROProperty("hwnd")
    End If

    If SystemUtil.CloseProcessByHwnd(hwnd) Then
    LogWraper "WARNING - ", "Killed Outlook Processes and all its child window by logic hwnd from AO_O2K3_Configscrīpt scrīpt", "STATUS"
    End If

Open Toolbar