ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

QTP/UFT安装避坑指南:版本兼容、License激活与ALM连接

QTP/UFT安装避坑指南:版本兼容、License激活与ALM连接 对很多从功能测试转自动化测试的人来说QTPHP QuickTest Professional现在叫Micro Focus UFT One可能有点遥远但只要你进过那些跑了十来年的测试资产就绕不开它。为什么今天还要写“安装QTP”这种标题因为我这两年帮好几个团队搭过这套环境发现翻车点从来不在“下一步”按钮而在版本兼容、License激活、IE设置和ALM连接这四件事上。把这些盘明白装QTP就是半小时的事盘不明白装两天都可能原地转圈。这篇文章适合三类人看一是维护老测试脚本的工程师公司给了台Win10新机需要在上面把老环境完整还原出来二是准备用UFT接手老QTP项目的测试负责人你想知道新旧版本之间到底差在哪三是只在虚拟机里跑过试用版、第一次在公司正式域环境安装QTP的入门者。下面我按“装前规划、安装步骤、装后配置、问题排查、维护心得”五部分一次讲透。1. 安装QTP之前需要先想清楚的几件事1.1 版本选择先搞清楚手里是QTP还是UFT经常有同事拿着一个安装包就来问我“这个能不能装在Win10”结果一看安装包名字还叫“QuickTest Professional 11.00”。这种老版本我不建议硬装Win10除非你能接受兼容模式下的各种隐性问题。QTP的主流版本演进可以简化成下面这个表来对照安装包推荐操作系统浏览器要求QTP 9.2 / 10.xWindows XP SP3、Windows 7 32位IE6 / IE7 / IE8QTP 11.00Windows 7 32位或64位以32位IE为主IE8 / IE9UFT 11.5xWindows 7 SP1、Windows 8、Windows 10IE10 / IE11UFT 14.x / 15.xWindows 10 x64、Windows Server 2016IE11、Chrome扩展这个表不是越新越好关键看你手上脚本是用哪个版本录出来的。QTP项目里的对象仓库文件.tsr和脚本文件.mts大部分能跨小版本打开但大版本之间来回倒很容易出兼容性提示。我的建议是新机器尽量保持和原项目一致的QTP大版本没有旧环境包袱的新项目才推荐直接上UFT 14或15。另一个容易忽略的是位宽问题。QTP主程序是32位进程要驱动浏览器里的ActiveX加载项IE也必须以32位进程运行。Windows 7里的IE一打开就是32位不用太担心但Windows 10上如果IE11被配置成64位进程QTP的加载项就可能始终不生效。检查方法很简单打开IE后调出任务管理器看浏览器进程后面有没有“32位”标签没有的话需要改注册表或组策略把IE切回32位进程。1.2 License类型和插件清单License这块常见分两种一种是seat license等同于把授权绑定在当前这台机器上适合固定测试机另一种是浮动License也叫concurrent license安装时不用输序列号启动时向License服务器申请一个可用席位。公司如果已经有ALM或HPE License Server通常会用后者。但我个人的经验是单机部署先把本地seat license准备好等安装完成、确认脚本能正常跑之后再切换成浮动License。这样排错的时候至少少一个变量。插件更像一道单选题。安装向导里的Add-ins列表会让你勾选Web、ActiveX、VisualBasic、Java、SAP等。很多第一次装的人会全选觉得这样稳妥。实际上QTP启动时如果把所有插件全加载不仅启动变慢还可能因为插件之间的权限冲突报莫名其妙的问题。建议按被测系统选测Web项目一定要Web插件这个躲不开测C/S架构的WinForm程序一般选VisualBasic和ActiveX被测系统涉及Java客户端再把Java加上。插件装完可以再补装不用在第一次安装时求全。2. 安装QTP的完整实操步骤2.1 准备安装文件和系统环境按QTP 11或UFT 11.5x这个级别来说官方安装包通常是一个ISO或者解压后的文件夹里面至少有Setup.exe、若干MSI包和Readme。安装前我自己的习惯动作有四个把安装包整个解压到一个纯英文路径比如C:\QTP_Setup或D:\temp\qtp_setup。老安装程序对中文路径支持很差路径里一旦出现中文有时候刚点Setup就报“Fatal error during installation”用本机管理员账号跑安装不是普通域账号也不是“右键以管理员身份运行”就能糊弄过去关闭IE、Outlook等Office程序旧版安装程序会检测到占用文件触发“重启后继续安装”的流程那个流程特别容易卡住如果这台机器是Windows 10且开了“内存完整性”建议安装前临时关掉。QTP的驱动签名和内核级保护存在冲突不关的话安装完成后一启动就可能蓝屏。做完这四步再双击Setup.exe。这一步千万别省我见过太多人跳过环境准备直接装最后卡在同一个地方。2.2 向导里的关键选项安装向导最前面的几页没有太多需要操作的地方典型流程是Welcome点NextLicense Agreement点AcceptCustomer Information填用户名和公司名名称随便写都行。到了填序列号的那一页如果手里暂时没有序列号可以直接留空继续安装完成后用License Utility补注册不会影响安装结果。比较关键的是后面这几步安装类型选“Custom”不要选“Typical”。Typical不会给你选择插件的入口默认把所有插件都装上后面对你来说是个小灾难在Select Features页面按上一节说的方法勾插件不要全选选择安装路径时我习惯装到D:\HP\QuickTest Professional。不是因为C盘空间不够而是因为老版QTP在C:\Program Files (x86)下面经常和权限控制较劲。你不想每次启动都遇到“Access denied”的话单独建一个纯英文目录会省很多事接下来是Release Notes、Start Copying之类的确认页直接Next然后等进度条。安装时间取决于插件个数和机器性能一般5到15分钟。中途如果弹出“是否重启”的提示选稍后等安装全部完成再统一重启。2.3 重启后第一轮检查安装完成后强制重启一次这是必须的除非你想在启动QTP时撞见一个“executable cannot find”的提示。重启后别急着双击图标先把三个地方过一遍开始菜单里有没有“QuickTest Professional”或“UFT One”进入安装目录确认bin\QTPro.exe存在检查C:\ProgramData\HP\QuickTest Professional下是否生成了配置目录。如果这个目录没生成多半是安装时某个核心组件没注册成功后期QTP会启动即闪退。确认这些都没问题再双击快捷方式。第一次启动会弹出Add-in Manager对话框你按之前想好的插件列表勾选然后点OK。这一步的重点是观察程序能不能顺利进入主界面而不是急着录脚本。能进主界面说明安装阶段基本成功了。3. 安装完成不等于配置完成3.1 先激活License再谈其他打开开始菜单里的License Utility或者在安装目录下找bin\LicenseUtility.exe。选择Seat License输入25位密钥点Apply。验证方法是重新打开QTP在Help About里看到License类型和有效期那就没问题了。有两个容易踩坑的细节第一激活是按机器特征计算的网卡、主板甚至虚拟机里加了块新网卡都有可能让激活失效。我在VMware里装QTP时遇到过开了两块虚拟网卡第二次启动就提示License不可用删掉其中一块网卡后重新激活问题才消失。第二如果公司要求用浮动License不要在License Utility里硬折腾应该去配置ALM连接或者在环境变量里设置License Server地址。第三即便安装时没填序列号也别慌绝大多数版本允许过后补录。3.2 IE安全设置是回放成败的关键QTP要驱动Web测试必须依靠IE的ActiveX加载项所以IE设置与其说是浏览器配置不如说是QTP的运行环境配置。以IE11为例最基础的检查清单有六条Internet选项 高级 勾选“启用第三方浏览器扩展”。这条和很多人的直觉相反有人觉得第三方扩展不安全就关掉结果QTP的BHO根本没加载把被测站点加进“受信任的站点”同时把安全级别调到“中低”关闭“弹出窗口阻止程序”在“高级”设置里不要勾选“禁用脚本调试”确认“允许运行或安装软件即使签名无效”没有被公司安全策略锁死目标站点如果用了较老的HTML在兼容性视图设置里把域名加进去避免IE用Edge模式渲染导致对象属性全变。绝大多数“QTP能开但录不了Web脚本”的问题都是上面某一条没做到。尤其是第一条我至少帮人解决过十次。3.3 连接ALM/QC把测试资产管起来如果公司测试资产存在ALM/QC里QTP安装后还要做一次连接配置。在QTP菜单栏选Tools Quality Center Connection输入ALM服务器URL比如http://alm.company.local:8080/qcbin回车后会自动带出登录页面。登录成功后QTP左侧测试树里就能看到ALM里的Test Plan你打开一个测试用例它会连带把对象仓库、Test Data、Action脚本一起加载到本地临时目录里编辑保存时再写回服务器。连接ALM时版本兼容性是最容易被忽略的。老QTP 11去连ALM 12.60有时候会提示“Client version not supported”。这时候要么在ALM站点管理员后台把客户端的兼容模式打开要么升级QTP到UFT 11.5以上。如果连不上先用浏览器单独访问一下URL确认能打开登录页面如果浏览器都打不开那就不是QTP的问题先查网络通不通、URL端口对不对。4. 常见问题与排查经验4.1 安装中途回滚怎么处理最稳定的排查顺序是先看安装日志QTP安装时会在系统临时目录里写Install*.log或Setup*.txt里面有失败的MSI组件名。但日志文件大且专业新人未必看得动。更快的办法是先把环境补齐再重装。到“控制面板 程序和功能 启用或关闭Windows功能”里确认.NET Framework 3.5已启用。QTP 11依赖.NET 2.0/3.5而Windows 10默认不开安装VC 2005/2008/2010运行库缺哪个版本都可能导致安装后启动失败清理之前残留的QTP版本卸载不干净的可以用Windows Installer CleanUp老版本适用清除MSI注册关闭杀毒软件和UAC再重装。按这个顺序处理下来我遇到的大部分找不到原因的安装回滚都能解决。4.2 能启动但License提示不可用这类问题很常见我把典型现象和处理方式整理成一张表现象可能原因处理方式提示No valid licenseLicense没激活或激活失效用License Utility重新激活提示License Server连接失败浮动License服务器地址不对检查服务器端口和地址或临时改回seat license激活后重启又失效网卡/主板特征变化停用多余网卡重新激活启动时提示Feature Expired试用版到期购买正式License或重新申请试用码除了表里这些还要检查系统日期和时间。License会基于时间校验时间跳变会导致立刻失效。这个坑尤其出现在装了还原软件的测试环境里还原到旧快照后系统时间还是对的但License状态文件是旧的也会报错。删除C:\ProgramData\HP\QuickTest Professional\License下的缓存文件后重新激活能解决一部分诡异问题。4.3 脚本回放时对象识别不到回放找不到对象第一步先确认浏览器有没有被QTP正常驱动起来。能正常驱动的话页面上通常会有黄色高亮边框。如果连高亮都没有检查IE管理加载项里HP SmartQA或UFT相关的BHO有没有被禁用启用后重启IE再试。有高亮但回放还是失败就要用Object Spy查看实际对象属性和对象仓库里存的属性做对比。很多Web应用会生成动态ID每次刷新页面都变。这种情况下建议把对象仓库里WebEdit、WebElement的识别属性从ID换成name或XPath再开启智能识别Smart Identification让QTP在属性匹配失败时按预设规则继续尝试。页面加载慢也会造成误判脚本里该加Wait或同步点的地方不要省。5. 装好之后的环境维护心得5.1 把环境做成模板别反复重装QTP这种老牌工具安装一次不容易激活还和机器特征绑定所以我强烈建议在虚拟机里把装好的环境做成模板。我个人会留三个快照刚装好操作系统、没装QTP的干净快照装好QTP并激活License、但没接入项目的快照接入ALM、配置好IE和插件、跑通一条冒烟用例的完整快照。平时测试就基于第三个快照派生副本出问题直接回滚不用重新激活也不用重装插件。这个习惯帮我省了非常多时间尤其是License激活次数有限制的时候价值更大。5.2 别让浏览器自动升级QTP的浏览器驱动依赖版本IE也好Chrome也好每次大版本升级都可能让对象识别方法失效。测试机的Windows Update里建议把浏览器更新单独挂起如果公司有WSUS或Intune策略找管理员把测试机从浏览器升级组里排除。这不是故步自封而是被测系统、QTP脚本、浏览器三者必须保持稳定的三角关系每次只动一个变量出了问题才知道是谁引起的。最后再分享一个小技巧在装好的QTP上把QTPro.exe的兼容性设为Windows 7并勾选“以管理员身份运行”同时把测试脚本目录加入杀毒白名单。这两件事看起来不起眼却能把启动闪退、回放中断的概率降到最低。我自己帮别人排查环境问题时几乎每台机器都会先检查这两项收益非常高。
返回列表