Let's Go!

发布新日志

  • LR/QTP 提示以前安装没有完成,要求重启的问题

    2010-12-28 13:54:38


    LR/QTP 提示以前安装没有完成,要求重启的问题


    之前朋友电脑安装过QTP,再次安装提示以下错误“安装程序已确定以前安装未完成。您应重新启动系统以便完成此过程”,便建议他清理下注册表,就可以了。

    今天自己重装系统,再装QTP/LR时,也出现了类似的错误提示,郁闷了,C盘是完全格式化的,
    怎么也会有这样的提示呢...也没有论坛上提到的问题存在,为什么还是不行呢...再次清理所有临时文件和注册表,才成功安装。


    总结如下:
    1、用优化大师清理注册表、历史文件记录和临时文件
    2、搜索注册表是否存在pendingoperation键值,若有,二话不说,删掉...
    3、重启电脑

    打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目


    注册表和文件都删除干净就应该能重装上。
    注册表中记得是第二,第三个文件夹中的software下都有qtp文件,必须都删了才行。

     

    还有一个QTP卸载的清除工具:

    http://knowledgeinbox.com/downloads/qtp/qtp-clean-uninstaller-tool/

    QTPCleanUninstallerV2.10.zip(29.5 KB)

     

  • QTP连接Oracle数据库,并查询数据 ConnectOracleDatabase

    2009-04-24 14:45:35

    因为第一次弄,又不熟悉VBS,弄了半天,多谢网上的各位前辈提供的资料

    实现效果:连接Oracle数据库,在里面查出数据,并逐行显示

    最后的脚步,如下:


    Dim Conn
    Set Conn = CreateObject("ADODB.Connection")

    '----------------------------------------------------------
    '方法一: '利用*.udl文件,建立连接后,复制地址
    'Conn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=jonathan;Persist Security Info=True;User ID=system;Data Source=jonathan;Server=192.168.1.25"
    '      conn.open= "Provider=OraOLEDB.Oracle.1; Password=密码; Persist Security Info=True;User ID=用户名;Data Source=数据源服务名;Server=数据库服务器地址"         '利用*.udl文件
    '-------------------------------------------------------------

    '方法二: 添加数据库检查点,复制那个ConnectionString 
     Conn.ConnectionString =  "DSN=192.168.1.25;UID=SYSTEM;PWD=JONATHAN;DBQ=JONATHAN;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;"
    Conn.Open

    '查看是否连接成功,成功状态值为1
    'msgbox Conn.state
    If Conn.State = 0 Then
         msgbox  "连接数据库失败"
    else
        msgbox   "连接数据库成功"
    End If


    ''创建数据库记录集对象(也就是查询结果)
    Set res = createobject("ADODB.Recordset") 


    ''打开以指定查询语句查询所得的记录集 
    res.Open"select * from qtp",conn,2,2  

    '从查询结果的指定字段取出值,循环输出

    while(not Res.eof)

    userid = res("userid")
    username = res("name")
    password = res("password")

    msgbox userid
    msgbox username
    msgbox password
    Res.MoveNext
    wend

    'msgbox res("userid")
    'msgbox res("name")
    'msgbox res("password")


    res.close        '关闭记录集
    Set res=nothing        '释放对象
    conn.close        '关闭连接
    Set conn=nothing        '释放对象

     

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

    一、利用*.udl文件获得连接字符串的方法:

    1、新建个空的文本文件,然后重命名为test.udl


    2、双击打开test.udl,在Provider中选择Oracle Provider for OLE DB


    3、点击Next或者上面的Connection标签,在DataSource中输入数据库服务器的网络名称(网址),并输入登录数据库的用户名和密码,注意保存密码上打勾


    4、点击 Test Connection,若测试通过,则点OK退出该udl文件

    5、右键点击test.udl,选择用记事本打开,有没发现你要写的连接字符串已经乖乖躺在那里了~赶紧Ctrl+C,Ctrl+V吧~

    二、利用插入数据库检查点的方法,获得连接字符串,就不说了

        Insert--->CheckPoint---->Database Checkpoint---->

    其他:

    有位仁兄说:odbc的文件数据源方式估计快淘汰了

    看来要弄个更加通用的连接方法,继续摸索……

  • QTP检查点设置(转)

    2009-04-24 10:31:54

    检查点类型:!y xU#K/VRo202848

    \,Q@'N6O'W;e/^2028481.标准检查点(Standard Checkpoint)检查对象的属性,如可以检查某个按钮的是否被选取;51Testing软件测试网#y4{+SF@*@,DMw
    2.页面检查点(Page Checkpoint) 检查网页的特性,如可以检查加载页面所需的时间,或者检查网页是否包含损坏的链接;
    9xsI8af Na2028483.图片检查点(Image Checkpoint)检查应用程序或网页中的图像的值,如可以检查所选图像的源文文件是否正确;
    %S"n%rG.u\!QA c2028484.位图检查点(Bitmap Checkpoint)检查位图格式的网页或应用程序区域;如。被测应用程序中有一个按钮,显示<查看文档>其中<号码>会被输入到应用程序中其它位置窗体的四位数字代码替换。可以创建一个文本区域检查点,以确认在该按钮上显示与窗体中的号码相同;
    'ctF9KQcz?0[!V2028485.文本检查点(Text Checkpoint)检查网页或窗口中的文字内容是否正确;51Testing软件测试网0~eP*{9T!Rw
    6.文本区域检查点(Text Area Checkpoint)检查网页或窗口中的文字是否在指定的区域显示;51Testing软件测试网O ^ R.DHN
    7.表检查点(Table Checkpoint)检查表内部信息,假设被测试应用程序包含一个表,改表列出了从纽约到旧金山所有可用航班。可以添加一个表检查点,以检查该表中的第一个航班的时间是否正确;
    )C S*Ao,G&tHje2028488.数据库检查点(Database Checkpoint)检查由应用程序访问的数据库到内容,如使用数据库检查点来检查网站上包含航班信息的数据库内容;51Testing软件测试网*s/n t6Q Q p)s0o-\

    vU|@5q2028489.Output Value 输出值检查,如输出网页中某一图片的属性(长宽高等);51Testing软件测试网a G l6JY4Q
    10.可访问性检查点(Accessibility Checkpoint)对网站区域属性进行识别,以检查是否符合可访问性规则的要求;51Testing软件测试网#V~/cD(L pV
    11.XML检查点(XML Checkpoint) 检查xml文件数据内容;51Testing软件测试网}B`7[2|2x_0rVg~

    51Testing软件测试网 M7uO,uEH

    -----------------------------------------------------------51Testing软件测试网CdQ;@K

    51Testing软件测试网Y4Z7H(l&D@

    51Testing软件测试网oBI_-]3Z

    1) 理解检查点51Testing软件测试网#`/|9qVV

    QuickTest enables you to add checks to yourtestor component.51Testing软件测试网8V^Z$Ve

    检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否正常。

    %Fj M{;v ~1r3R!W:U2[202848

    当你增加了一个检查点以后,在KeyWord模式下会增加一个CheckPoint,在Expert模式下会增加一条CheckPoint语句。在运行测试时,QTP比较CheckPoint的期望值与当前值,如果结果不匹配,则检查点失败,你可以在TestResults窗口中查看到检查点的结果。51Testing软件测试网'[S&~TR%w2ow+W5@?

    如果你想获取 checkpoint的返回值(一个布尔值,表示检查成功或失败),你必须在专家模式下将checkpoint 参数两端加上括号。如51Testing软件测试网"m_TgN;`;I

    a = browser("MyBrowser").page("MyPage").check (checkPoint("MyProperty"))

    -kk4yWg C{+?G202848

     51Testing软件测试网9F8i_*x1[Y?.]T ]

    2) 向测试脚本中添加检查点

    o/oq3zohZf4g1y Ay202848

    可以在录制脚本的过程中添加,也可以在修改脚本的过程中添加。51Testing软件测试网f5L_\ _!O'fW

    途径:菜单 Insertcheckpoint、或按钮;在Keywork视图中选择一个STEP,然后选右键菜单Insert Standard Checkpoint;在Active Screan中选择任意一个object,然后选右键菜单Insert Standard Checkpoint51Testing软件测试网a} @ ` w

     51Testing软件测试网-i.B~9E;FE4B[ W

    3) checkpoint的种类:

    P k)^ J/j202848

    可以在站点或应用程序中插入不同种类的checkpoint51Testing软件测试网4tz(VS ^.pz

    l         Standard Checkpoint (标准检查点)

    h U2W U;`f202848

    检查程序或网页object的属性值,检查对象如buttons, radio buttons, combo boxes, lists, 等等。51Testing软件测试网u}!i O$L;N b

    标准检查点支持所有的add-in 环境 (see Supported Checkpoints).51Testing软件测试网,B;v2?)KPF,SC{a

    l         Image Checkpoint (图像检查点)51Testing软件测试网:VL&@On

    检查程序或网页中图像的值,如你可以检查图像 的源文件是否正确。51Testing软件测试网X H-]&o2a(o+K:F6M

    注:你也可以给图片object插入一个标准检查点,这个标准检查点也是图像检查点。

    8LM8UYdVm1p _Ab202848

    l         Bitmap Checkpoint(图片检查点)

    ]b_qQ;j202848

    将程序或网页的某个区域作为一个图片,建立检查点。如,某个站点可以展示一个城市的地图,这个地图有控制地图缩放的按钮,你点击1次“zoom in”按钮后,录制下放大了的地图快照。通过建立bitmap 检查点,可以检查“zoom in”功能是否正确。51Testing软件测试网H y8K(eD

    l         Table Checkpoint(表检查点)

    $K(i/I-c&\G202848

    检查一个表中的信息。例如,假设被测的程序或网站包括一个table,本table中包含了所有的从New YorkSan Fransisco的有效航班。你可以通过Table检查点来检查第1个航班的时间是否正确。51Testing软件测试网 PeSmp L+t$p

    注意:你也可以通过为表Object插入标准检查点的方法创建表检查点。

    OxB#k.v202848

    l         Text Checkpoint(文本检查点)

    R.SSn Y(B202848

    检查位于程序或网站某个位置的字符串。例如,假设程序或网站显示“Flight departing from New York to San Francisco”的语句,你可以创建一个文本检查点检查"New York" 是否显示于"Flight departing from"  "to San Francisco"之间。

    4TdM/}I5hH"~0N202848

    所有的add-in环境都支持文本检查点。51Testing软件测试网d"MT9U;Y?(]x

    l         Text Area Checkpoint51Testing软件测试网iL$L5^5O"j hq:`

    l         Accessibility Checkpoint51Testing软件测试网3` S|.B"T%N8y

    l         Page Checkpoint

    )T8q2u0x/m_,d3P202848

    l         Database Checkpoint51Testing软件测试网N{]ACaX[

    检查database的内容。例如,可以使用数据库检查点来检查包含航班信息的数据库的内容。

    e5eh5i&[%V:Gc202848

    所有环境都支持数据库检查点。

    4B.NX _ co/K`202848

    l         XML Checkpoint51Testing软件测试网 \I(L0L"^ bG*q

    l         下表是QTP中在不同环境下对各类检查点的支持情况。51Testing软件测试网0q"NJ:U;i.z7qK3?G,A

    )e:q A#`'T#}5?d202848

     51Testing软件测试网LO*A:P GD6^ p

    Web51Testing软件测试网n WF5w,V2g

    Std

    RxzB[ G]7I202848

    VB51Testing软件测试网 u@ZKj e kr

    ActiveX

    )W6y'Ard N | a202848

    Other Object51Testing软件测试网y5D-Z2~/[W?/v

    Standard51Testing软件测试网1r)w,c X.e6O^?'@

    S

    wRW8Ti'^4u|202848

    S51Testing软件测试网ih8h U6s+D

    S51Testing软件测试网Yw ad0Y p9i+M;H

    S51Testing软件测试网(f+zO0}-P A$qo/vW w

    NA

    ;\Rw.P%t-M Lrn202848

    Image51Testing软件测试网4H^"C,[_@N E

    S51Testing软件测试网(}.n3C W Zx

    NS

    pOJwx;n6HC uJ202848

    NS51Testing软件测试网3q1y5Yb1P6|,`,S-}

    NS51Testing软件测试网N6r/E%|s)N7U(P/L

    NA51Testing软件测试网|AlX*c'K)kL+P;Y

    Table

    Zr.aq u$bR202848

    S51Testing软件测试网ky ~h0\I

    NS51Testing软件测试网f,t ^e8`

    NS51Testing软件测试网 YBd_iy^I&O

    S51Testing软件测试网&@CC-UxY

    NA

    Lq|7qY202848

    p7a{ v%yHBe20284851Testing软件测试网x!~ gc8^A8q'n#F

     

    C(yw2^x-E;k202848

    {?6v:|'@202848---------------------------------------------

    .VLal8{R202848
    一、录制参数设置
           Tools--web event recording configuration
           Toolsoptionsactive screen
           这两个参数的设置直接影响到QTP录制的精度。有的时候由于录制级别设置的问题,有的界面或某个界面元素可能无法被保存下来,那么你就无法在其上使用任何检查点,边录制边添加检查点的方法就可以避免这个问题.
  • QTP创建函数库,可以调用自己定制的函数

    2009-04-24 10:23:41

     

    我的QTP 不能新建函数库,有碰到过类似问题的来指导下

    在QTP中依次选择File--New--Fuction Library,但是程序没有什么反应,不能建立应该的*.sql文件

     
    终于解决了,和我预想的差不多
    要安装一个 Quality Center的插件
    现在终于可以创建了,呵呵

    使用:

    File----->settings----->Resources----->add a new file to the file list

     

    请教创建的函数库文件的调用语句


    在QTP中通过File--New--Fuction Library创建了一个后缀名为qfl的文件,请问如何在测试文件里调用它?
    如调用vbs脚本文件可以这样写:ExecuteFile "MyFunctions.vbs"
    有没有相应的语句来调用一个后缀名为qfl的文件?*.qfl 为自己创建的函数库文件。

    创建函数库方法:

    1.Choose File > New > function liberay.
    2.Create a new function library
    3.enter the following lines exactly:
    public Function myfunc()
    msgbox "one"
    msgbox "two"
    msgbox "three"
    End Function

    然后保存,然后加入resource中,然后在expert view中直接用myfunc()
    就可以了.

    只能在Resources中设置共享的函数库文件吗?没有直接的调用语句(无须在Settings设置Resources)的方法吗?

    本人今天又仔细阅读了英文帮助,有另外一种方法,就是将自己定义的函数定义为测试对象方法,在keyword view的Item选项中选定相应的对象,在Operation中就会出现你定义的方法名称,进而选定该方法即可。无须用语句调用。

  • 更改QTP的默认保存目录地址

    2009-03-23 10:41:53

    如果你对使用QTP的默认保存目录地址给你带来不便的话,你可以通过以下方法修改QTP默认的路径
    打开注册表
    HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest

    然后打开里面的TestsDirectory 输入你自己想要的保存目录地址

    注意:找到MicTest,单击它,在右面的文件列表中找TestsDirectory,而不是展开它寻找。

    转载自:http://www.51testing.com/?uid-117535-action-viewspace-itemid-81159

  • Index and Location Ordinal Identifier 索引标识符与位置标识符

    2009-03-23 09:53:25

    Index and Location Ordinal Identifier 索引标识符与位置标识符
    2008-10-27 14:55

     

    QTP除了可以获取到被测对象的主属性、辅助属性值外,还可以获取到被测对象的Ordinal Identifier值。当QTP发现有多个对象具有相同的主属性值、辅助属性值而无法对它们进行唯一识别时, Ordinal Identifier会获取每个对象的序列值,以将它们区别开来。

    由于序列值是一个相对值,任何页面的变更都有可能导致这些值发生改变,因此,只在主属性与辅助属性无法唯一识别对象的情况下,QTP才会获取该序列值。
    在运行测试脚本时,如果使用对象的属性值以及Smart Identification机制都无法唯一识别应用程序中的对象,才会使用到序列值。如果QTP可以通过其它属性值对对象进行识别,则会忽略序列值。
    QTP可以使用以下类型的ordinal identifiers来识别对象:
    Index      表示对象在程序代码中的出现顺序,这个顺序是相对于其它具有相同属性的对象而言的。
    Location 表示对象在窗口、Frame或对话框中出现的顺序,这个顺序是相对于其它具有相同属性的对象而言的。
    CreationTime(仅适用于Browser对象) 表示Browser对象打开的顺序,这相顺序是相对于其它已打开的具有相同属性的对象而言的。
    一般情况下,Ordinal Idenfifier类型适用于所有类。在Object Identification窗口,通过Ordial identifier下拉框,可以选择其它类型。
    注:QTP在录制脚本时,如果通过主属性与辅助属性已能够唯一识别对象,则不会获取对象的ordinal identifier顺序值。你可以在脚本录制完成后,在Object Properties或Object Repository对话框中使用Add/Remove操作,手动添加顺序值。
     
     
    1. 使用Index属性识别对象
    QTP在录制过程中,可以获取到对象的Index属性值来唯一识别对象。QTP根据对象在程序代码中的出现顺序来决定该属性值。第1个出现的对象的值是0。
    Index属性值object-specific的。因此,假如一个WebEdit测试对象的Index属性值为3时,QTP会查找程序页面中的第4个WebEdit对象;但是,如果一个WebElement对象的Index属性值为3,则QTP查看程序页面中的第4个Web对象,而不管对象是属于Web对象的哪种类型,因为WebElement对象可以是任何Web对象。
    例如,假设一个页面包括以下对象:
    一个Image对象,名为Apple;
    一个Image对象,名为UserName;
    一个Webedit对象,名为UserName;
    一个Image对象,名为Password;
    一个Webedit对象,名为Password。
    下面的语句指的应该是上表第3行所描述的对象,因为它是第1个名为UserName的WebEdit对象。
    WebEdit("Name:=UserName", "Index:=0")
    下面的语句指的应该是上表第2行所描述的对象,因为它是第1个名为UserName的Web对象。
    WebElement("Name:=UserName", "Index:=0")
    2. 使用Location属性识别对象
    QTP在录制脚本时,可以获取被测对象的Location属性值来唯一识别对象。这个属性值就是多个相同对象在窗口、框架、对话框中的出现顺序。第1个出现的对象,属性值为0。顺序值的分配是先列后行,先左后右。
    在下面的例子中,对话框中的单选按钮按它们的位置排序。

    Location属性值是object-specific的。因此,当一个WinButton对象的Location属性值为3时,QTP从顶端向底端搜索,然后从左向右搜索,直到找到页面中的第4个WinButton对象。但是,如果被搜对象是WinObject,则QTP从顶端向底端搜索,然后从左向右搜索,直到找到第4个Standard对象,因为WinObject对象可以是任何Standard对象。
    例如,假设一个对话框中包括以下对象:
    一个Button对象,名为OK;
    一个Button对象,名为Add/Remove;
    一个Check Box对象,名为Add/Remove;
    一个Button对象,名为Help;
    一个Check box对象,名为Check spelling。
    下面的指句指应该是第3行中所描述的对象,因为它是第1个名为Add/Remove的Check Box对象。
    WinCheckBox("Name:=Add/Remove", "Location:=0")
    下面的指句指应该是第2行中所描述的对象,因为它是第1个名为Add/Remove的WinObject对象。
    WinObject("Name:=Add/Remove", "Location:=0")
     
     
Open Toolbar