QTP学习笔记(七)
一.测试目的:
    1.编写自动化脚本,代替手工测试
2.使用TD跟踪测试结果,评价软件质量
二.问题及解决方法
    1.问题:录制脚本时QTP窗口为最大化状态,阻碍鼠标的移动轨迹
     :recording最小化QTP窗口,以后每次录制时QTP窗口都会自动执行最小化
2.问题:TDQTP的连接失败(同QTP学习笔记(五))
 :TD安装“TDConnect.exe,SysAgent.ext,TDClientSideInstallation.exe”三个插件
3.问题:因为使用破解版TD所以在添加“Test Script”TD会自动退出
 :在指定folder中创建“WR_Automate”类型的TEST,查看该TESTTEST Script,再选中新创建的“Quicktest_test”类型的TESTTD就不会退出了
4.问题:QTP加载插件后仍连接不上TD
 :QTP安装插件“QTP安装包setpup.exequality center加载项,安装自带的插件比较好用
5.问题:QTP远程连接TD失败的问题
 :1.查看该请求是滞被防火墙过滤
     2.网络管理服务器及TD服务器上是否安装了网管软件
 符合上述条件的时候,QTP远程访问TD会发生失败
6.问题:TD建立连接后脚本的编辑问题
 :TD连接后,QTP自动生成与TDTEST名称相同的脚本,可对该脚本进行编辑、保存、另存等与单机使用QTP创建脚本相同的操作,建议每个脚本在本机另存一份,并保留脚本对象,创建对象库。与TD连接后,QTP默认加入的插件被修改为”web插件,新建测试脚本时要注意。
三.学习到的内容
    1.QTPTD建立连接时所指定的服务器名、DomainProjectUserNamePassword信息应与TD登录时一致,否则会发生连接失败的错误
2.TDTESTPLANFolderTEST增加了TEST Script后,不可再编辑该TEST,如”step”的设置
3.”TEST Script”运行后的执行结果在”REQUIREMENTS”中可查看到,以此可作为评价软件质量的依据之一
4.TDREQUIREMENTREQUIREMENTChild REQUIREMENT可以为其指定多个”TEST”用例,被关联的用例不可编辑
5.TD建立连接的QTP脚本运行结果自动保存在TD中,连接成功后QTP”Remote Agent”进程自动启动
6.QTPTD服务器远程连接
工具栏Quality center Connection:指定Server URL为远程服务器,并输入正确的DomainProjectUsernamePassword即可
QTP学习笔记(八)
一.测试目的:
使用QTP建立较为完成的测试脚本,通过TD对自动化测试的流程进行系统的管理。
二.问题及解决方法:
    1.问题:TDTESTTest Script启动QTP脚本后,QTP在启动时自动只加载”web插件,并且在录制脚本的过程中,点击”Record”按钮后,弹出web页面与QTP中心连接,严重影响脚本的录制
     :1.TDTEST PLANFolderTESTTest Script启动QTP并创建新的测试脚本
         2.保存该脚本,退出QTP
         3.重新启动QTP,加载”Active X”控件
         4.创建新脚本,并连接TD
5.openopen Test from Quality Center打开步骤1所创建的脚本即可
三.学习到的内容
    1.更改当前脚本加载的插件
在启动QTP的时候将所有插件都色选上,打开脚本,FileSettingsProperties选项卡选择modify按钮即可
2.TD中为TEST添加Steps后,点击Generate ScriptQuicktest Test可将设置的steps加载到测试脚本中
3.在录制脚本步骤前仔细规划脚本的结构,定义好各Action完成的任务,及Action之间的调用关系,要比录制执行步骤后再添加新Action容易
QTP学习笔记(九)
一.测试目的:
    1.将已经完成录制的脚本中,每个叶子”Action”设置为”Reusable Action”属性,以方便下一段录制过程中的Action进行调用
2.修改TDTEST的名字,对已经建立了测试脚本的测试用例进行重命名
二.问题及解决方法:
    1.问题:将已经录制了执行过程的action设置为”Reusable Action”属性后再设置成普通属性,执行脚本时,脚本不识别界面对象,导致脚本不可执行。
     :在脚本录制成功能一,将脚本的对象分别保存到本地对象库和TD对象库中,使用已经保存的对象文件,完成该测试脚本的对象重新加载。
:不要随便更改已完成录制任务的”Action”属性
    随时为已完成录制的脚本做对象保存工作
2.问题:TD上修改了TEST的名称后,执行脚本时,该脚本不能识别界面对象
 分析:
1.该脚本已经与测试用例关联,且为QTP的当前脚本,修改TEST名称失败时,可将QTP关闭
    2.选中脚本中第一个叶子action,对其进行对象更新,完成一个步骤即可,然后保存该脚本
    3.重新保存脚本对象,分别存储地本地和TD
:如不是特别要求,最好不要对已完成脚本录制的TEST进行属性修改的操作。
三.学习到的内容:
    1.TD上导出对象文件
选中TESTAttachments选中对象文件“save as”按钮
2.TD上记录TEST中脚本的运行结果,并对脚本的运行进行设置,跟踪脚本的执行情况
a.”TESTLAB”页中选中”Root”--New Folder(添加项目名称)New Test Set(添加子项目名称),在”Execution Grid””Execution Flow”页中点击”Selects Tests”选择相关的测试用例,其中”Run””Run Test Set”按钮可以从TD上直接运行QTP,以”Read_only”的模式打开脚本并执行
b.”Excution Grid”页中,可到TEST脚本的执行情况,通过双击测试条目可以查看到”Test Rum Properties”更详细的情况
c.”Excution Flow”页中可设置TEST的执行时间,执行关系等
d.”Test Rum Properties”中可设置有关TEST脚本执行的选项
QTP学习笔记(十)
一.测试目的:
    1.将已经完成录制的脚本中,每个叶子”Action”设置为”Reusable Action”属性,以方便下一段录制过程中的Action进行调用
2.修改TDTEST的名字,对已经建立了测试脚本的测试用例进行重命名
二.问题及解决方法:
    1.问题:为测试用例添加好执行时间后,在该设置时间已到的情况下脚本没有被执行
     :设置并更改了执行时间后,点击〖Run〗按钮,在”Execution of … …”窗口设置〖Run of Host〗的主机域名,可双击设置,当执行脚本的PC为本机时可选择〖Run All Tests Locally〗选项。当存在多个测试用例时,可使用”ctrl+Test”的方式进行多项选择,然后点击〖Run〗按钮等待,或点击〖Run All〗按钮执行所有TEST
2.问题:怎样通过参数化测试步骤来实现脚本的循环执行?
 :在需要检查数据的测试步骤,点击[value]字段 [<#>]按钮,进入”value configuration options”窗口àParameteràDataTableàNameà为参数化取名àGlobal sheet
:1.Global sheet:全局,适用于Action较少,需要全局执行的情况
    2.Current action sheet(local):只适用于当前Action,不可被其他Action采用
    3.这种参数化不适用于执行完成参数化的步骤后,关闭或退出等影响界面存在的操作。
3.问题:通过TD的设定时间来执行TEST时,下拉列表的选择速度变慢
 :解决办法暂无
三.学习到的内容:
    1.使用TD定时执行后,脚本的执行结果直接存储到TD中,不在执行结束时直接弹出,并且各步骤的执行时间间隔不再受QTP控制,TD的默认时间
2.可以通过QTPTD创建TEST,步骤如下:
 QTPàNewàNew TestàSave(已连接到TD的情况下)à选择TD上的对应测试项à命名àOK
3.使用随机数来参数化测试步骤
 QTPà选择要参数化的步骤àvalueà<#>àParameteràRandom Number
 或者采用专家视力进行编辑
QTP学习笔记(十一)
一.测试目的:
    1.使用QTP录制”.net”应用程序的脚本
2.在网络管制的情况下使用TD管理自动化测试
二.问题及解决方法:
    1.问题:QTP自带插件不识别”.net”应用程序中的控件,但QTP”.net插件仅为试用版,限期为14
     :在测试机上安装虚拟机,划分足够大的内存及硬盘空间,安装QTP及其”.net”插件,在虚拟机中完成脚本的录制、回放。插件过期后,再重新建立虚拟机,重复使用。需要注意的是在虚拟机中保存的脚本及对象要在测试机上及时备份。
2.问题:因网络管制导致虚拟机上的QTP连接测试机的TD服务器失败
 :同样在虚拟机中安装TD服务器(以下称为VTD),在该服务器中创建与测试机上的TD服务器(以下称为STD)相一致的各个测试项目,定期将VTD的内容保存到STD中。
三.学习到的内容:
    1.为脚本添加检查点
     a.”Analog Recording”录制模式不适用于检查点的添加及过程参数化
     b.对于文本类的控件,可添加”Text Checkpoint””Text Area Checkpoint”两种类型的检查点,前者适用于单个文本控件的检查,后者适用于文本对象集合的检查
     c.所有对象都可使用”Standard Checkpoint”,但涉及特殊要求的情况,如数据库数据的检查等,标准检查点就不太专业了
     d.在编辑状态下只有”Standard Checkpoint””Database Checkpoint””XML Checkpoint(From Resource)”检查点可用,其他为置灰不可用状态
2.添加检查点的脚本,执行通过没有发生错误的情况下,在回放结果Test Results文件中”Status”字段的值为”Passed”并记录通过测试的检查点数量;如果在执行的过程中,执行结果与检查点的值不同,则会在TD中自动添加相应的BUG
3.做了参数化的脚本,在执行后Test Results文件的”Teration#”字段会显示出参数的索引编号及执行结果
4.Test Results窗口中,可以通过点击连接TD的图标,与TD建立连接,查看保存在TD上的脚本执行结果
5. GUI 应用程序中 ”Bitmap Checkpoint” 不适用于动态统计图,即使数据一致,在执行结果中仍会指明该检查点执行时出现错误