自动化测试工具QTP安装及使用Word格式.docx
《自动化测试工具QTP安装及使用Word格式.docx》由会员分享,可在线阅读,更多相关《自动化测试工具QTP安装及使用Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
tyr521密码:
tyr555521,完整执行一次购票流程
2.打开QTP,勾选Web(打开软件时自提示),若已经打开软件,可以通过打开帮助-关于QTP进行查看,未勾选则需要关闭并重新打开软件进行勾选
3.单击新建测试,单击录制按钮,Web提示框勾选openthe..(第二个)URL输入购票网址(默认)浏览器选择IE浏览器。
WindowsApplications选择如下
单击确定按钮
4.打开的网页中执行购票流程
出现的错误:
开始录制之前需要打开IE浏览器工具-Internet选项-内容-自动完成-设置
表单之下的两项取消勾选
另外需要控制面板中-安全中心-Internet选项高级中对网页中运行插件信任(录制过程中允许网页中弹出插件的运行操作也会被录制下来,录制结束后可以通过对记录下的操作删除,但提示会导致脚本的运行错误)
5.购票流程执行结束之后单击停止按钮,保存(选择默认路径)
录制下的脚本各字段意义
Item-项:
操作步骤所作用到的组件(测试对象、工具对象、函数、脚本)
Options-操作:
select选取click点击set填写,输入
Value-值:
执行动作的参数:
各种输入值、所选项、鼠标单击的是左键还是右键
分配:
使用到的变量
文档:
自动产生用来描述操作步骤的中英文说明
6.运行之前需要工具-选项-运行选择如下
7.单击运行按钮,IE浏览器下自动执行购票流程
运行结束之后不显示结果,提示未找到可以查看结果的程序
下载安装MicrosoftScriptDebugger依然报错
先进行安装QTP_00626.EXE提示版本升级不正确
运行时使用快速模式运行,报错
卸载重装QTP,报错
可能存在兼容性问题,可以尝试WIN7或者Windowsserver2003
qtp11回放结束时报“CannotopentherunresultsbecausetheHPRunResultsViewerisnotinstalledonthiscomputer”错误
解决方法:
在国内论坛一直没有找到有用的方法,这是国外论坛上的两种方法,我没有翻译,个人理解不同,自己需要自己翻译。
1、Aftercreatingandrunningatest,anerrorisdisplayed"
CannotopentherunresultsbecausetheHPRunResultsViewerisnotinstalledonthiscomputer"
QuickTestProfessional(QTP)/ServiceTest(ST)/Sprinterversion11introducedanewreportingtoolcalledHPResultsViewer.SomeotherproductssuchasLoadRunnermaybeusingthistoolaswell.
Unlikepreviousversions,itsinstallationprocessautomaticallyhappensafterthecoreproductrelatedtoitgetinstalledonavisual-less,invisible/on-backgroundprocesswhichonlygetnoticedassoonastheshortcuticonsondesktop,amongotherthings,getsplaced.TheQuickTestAdd-inforQualityCenteralsomakesuseofthistool,anditsinstaller(whenusedonmachinewithoutQTP)performsthisreportingtool’sinstallationwhenfinishedonbackground.
Note:
Thisnewreportingtool,hasseparateinstallersonthecoreproductdisc
·
Ensurethefollowingregistries,foldersandfilesgetcreatedonthemachineoncethecoreproductfinishitsinstallation:
Folder:
C:
\ProgramFiles\HP\RunResultsViewer
DesktopShortcut:
"
HPRunResultsViewer.lnk"
RegistryEntries:
HKEY_LOCAL_MACHINE\SOFTWARE\MercuryInteractive\TestResults
HKEY_CURRENT_USER\Software\MercuryInteractive\TestResults(generatedafteropening)
Ifthecoreproductwasinstalledproperly,simplyrundirectlytheHPResultsViewerinstallationfiles:
QTP:
<
Installationfiles>
\RunResultsViewer\<
Language>
\setup.exe
ST:
\STSetup\MSI\ThirdPartyInstallations\HP_Run_Results_Viewer.msi
2、C:
\ProgramFiles\HP\QuickTestProfessional\MSI
Thisisthepathtoinstall
QTP结果分析:
运行结束之后直接显示分析结果(已解决)半汉化版版本
结果中不展示ActiveScreen(并不是需要通过对分析结果的设置,也不需要通过更改网页图片格式,应在运行前设置里将发生错误时记录图片改为所有场景均记录图片即可)
ActiveScreen除了会记录下当时的画面之外,执行操作的对象还会被标记(尝试修改执行过的操作,更改标记的对象,发现可以成功)
脚本运行过程中经常性出现网页加载缓慢的现象
打开已存在的测试结果可以通过开始菜单直接打开RunResultsViewer打开保存的测试结果
还可以通过直接点击工具栏的open(测试结果)按钮
可以通过展开左侧测试结果树选中某个测试步骤查看该步骤的详细信息(通过的操作状态为done)
在测试脚本上建立检查点:
1.检查对象的检查点
Action中找到BookaFlightMercary,下方的ActiveScreen中找到姓氏输入框(firstname)
右键选择插入标准检查点,预定值均选择默认值,单击确定,该测试步骤之前建立了一个检查姓氏的标准检查点,单击工具栏保存按钮
2.检查网页的检查点
同样选中BookaFlightMercury,下方ActiveScreen任意位置(空白处)单击右键选择插入标准检查点,选取Page:
BookaFlightMercury预定值选择默认,可以看到下方ActiveScreen整个网页被选定,在BookaFlightMercury下方建立一个检查网页的检查点,单击工具栏保存按钮
3.检查文字的检查点
打开FlightconfirmationMercury,下方ActiveScreen中选中文字NEWYORK单击右键,插入文本检查点,预定值选择默认,FlightconfirmationMercury下建立标准文字检查点
工具栏单击保存
4.检查表格的检查点
与插入检查文字的检查点相同,ActiveScreen机票价格表中的价格上单击右键选择插入标准检查点,将默认选项改为Webtable(ActiveScreen中的机票价格表被标记)预定值选择默认,操作之前建立了检查表格的检查点,单击工具栏保存按钮保存
(可以通过双击的方式来勾选或者取消对某字段的检查,也可以通过选中整个栏或者列执行选取或者取消操作)
执行插入着检查点的脚本时每次执行到检查点操作时IE浏览器便会一直处于加载状态(偶尔情况下出现QTP检查点和IE浏览器全部未响应的情况)
可以通过在左侧测试结果树中单击检查点查看检查点的详细结果
针对检查点无法运行的问题对四种检查点逐一进行检测
打开录制的未插入检查点的脚本,插入检查表格的检查点,运行之后通过(只勾选需要进行检查的字段)
在脚本中只进行插入检查文字的检查点
选中文字之后插入文本检查点,运行后通过
在脚本中只插入检查网页的检查点,运行之后通过
在脚本中只插入检查对象的检查点,运行之后整个脚本从第一步开始就是Failed状态
多次尝试重新录制未找到解决方案
发现将检查对象的检查点插入到操作步骤之后运行可以成功(但不符合之前规律)
、
果然还是检查点的设置问题,依上述重新插入4个检查点之后再次运行,脚本所有操作(包括检查)全部通过,未发生错误
参数化:
直接修改数据避免需要多次录制的情况
先进行数据表中添加数据,然后让检查字段使用数据表中的值进行检查
购票脚本中FindaFlightMercury中找到fromPort,单击value(值)列内的的参数化图标,进行参数选择,值配置选项窗口内取消常量勾选,改为勾选参数,DataTable保持不变,名称将P_item改为departure,其他选项默认,单击确定
下方DATATABLE(数据表中)在departure字段输入数据(第二行输入Portland,第三行输入Seattle)回车并保存
当某个步骤被参数化之后,有可能会影响到其它的测试步骤也需要做参数化的动作,需要对文字检查点也进行参数化
依据插入文字检查点的步骤中选中NEWYORK,右键选择插入文本检查点,弹出窗口中取消勾选常量,改为勾选参数单击参数输入框后的参数选项按钮
将名称改为选择departure,单击确定按钮,保存测试脚本
运行之后发现总共执行了3次迭代(IE浏览器中购票流程被执行了3次),每次选择值为数据表中departure字段的3个值
虽然每次执行时,文字检查点的结果都是通过的,但是第二次与第三次的执行结果仍然为失败,这是因为出发地点改变,造成在表格检查点中的机票价钱改变,导致表格检查点失败,在【建立输出值】的课程中,你将会修正表格检查点,让QuickTestProfessional自动更新表格检查点,就可以检查正确的票价了
未找到如何让QTP自动更新表格检查点,索性将表格检查点删除,3次迭代运行全部通过
又尝试添加4-6次迭代,脚本均成功运行
针对地点发生改变导致,造成表格检查点中机票价钱改变,导致表格检查点失败(第二、三次迭代运行失败的情况),可以通过建立一个输出值来进行修正
1.SelectaFlight中的网页中,选中下方的270不选中$符号,右键选择插入文本输出,单击修改按钮,将名称“selectaflight…”修改为“depart_Flight_price”其他选项默认,单击确定
2.修正表格检查点的预期值
在bookaflight:
mercury下的checkpoint‘NewYorktoSanFranciso’上点击鼠标右键,选择检查点属性,选取第三行第三列,取消常量勾选,选定参数,单击参数选项按钮,名称修改选择为:
depart_Flight_price,其它选项默认,单击保存
运行之后结果依旧是只有第一次迭代通过,后两次均失败
但是发现后两次迭代中已经自动抓取到正确的机票价格,但还是运行失败了
多次尝试修改输出值以及表格检查点的属性,均未解决上述问题,已经可以成功抓取机票价格,还是运行失败
将新建立的表格检查点的属性中勾选取消具体价格数的勾选,改为直接勾选字段price,保存脚本后运行,运行成功,三次表格检查点均运行成功
使用万用字符表示法设立文字检查点以检查日期文字的格式而不是检查其日期
SelectaFlight下的ActiveScreen中机票信息表中选中机票日期,右键选择插入文本检查点。
单击常量值选项按钮,值输入框内默认为:
1/20/2016,所以在值输入款内输入
[0-2]/[0-3][0-2]/20[0-2][0-9],勾选正则表达式按钮,询问是否需要在每个特殊字符前加/,单击否,其它选项默认,单击确定按钮,保存脚本并运行因机票的日期文字与万用字符表示法的格式是相同的所以执行通过
运行结果成功
加入4次迭代,第一次和第四次运行通过,第二、三次的表格检查点出现错误,由于数据表中写入了4个不同的机票地点,运行过程及结果中显示已经正常抓取机票地点但由于机票价格读取的问题,导致失败,第四次成功运行原因为机票价格与第一次迭代的价格相同,针对此问题在脚本中的机票价格上新建了文本输出depart_flight_price,并将表格检查点的检查字段更换为price,并将其参数化为depart_flight_price,经运行,4次迭代全部通过
因机票起始地点只有8个,所以依据起始地点设置8个迭代,保存之后成功运行