
1. 项目概述与核心价值如果你正在学习或使用LoadRunner进行性能测试那么WebTours这个经典的样例应用绝对是你绕不开的“第一课”。它就像是性能测试领域的“Hello World”一个功能完整的飞机订票系统内置了登录、搜索航班、订票、查看订单等典型业务流程。然而就是这个看似简单的“第一课”从获取、安装到配置每一步都可能藏着让你耗费数小时的“坑”。特别是当你手头是LoadRunner 12.6这个版本时情况会变得更加复杂因为它与更早的11.x版本或社区流传的独立WebTours安装包在配置上存在显著差异。我见过太多新手兴致勃勃地安装好LoadRunner 12.6却在启动WebTours时卡住面对一堆错误提示束手无策。问题可能出在端口冲突、服务未启动、数据库连接失败或者干脆就是历史版本的操作习惯导致了错误的配置路径。这些坑不仅打击学习热情更浪费了宝贵的入门时间。因此这份指南的目的非常明确为你提供一份针对LoadRunner 12.6环境下WebTours应用从零开始到成功运行的全流程、无坑操作手册。我会详细拆解每一步的操作意图对比说明与历史版本的关键差异并分享那些官方文档里不会写的排查技巧和注意事项确保你能一次成功把精力集中在性能测试脚本的学习与创作上。2. 环境准备与核心组件解析在动手安装配置之前我们必须先理清LoadRunner 12.6与WebTours之间的关系以及需要准备哪些“食材”。这能帮你建立一个清晰的认知框架避免后续操作中的盲目性。2.1 LoadRunner 12.6 架构与WebTours定位LoadRunner 12.6是一个庞大的性能测试工具套件主要包含VuGen虚拟用户生成器、Controller控制中心和Analysis结果分析器三大组件。而WebTours并不是LoadRunner的组成部分它是一个独立的、用Perl语言编写的Web应用程序其角色是被测系统。HP现为Micro Focus将它作为标准样例预置在LoadRunner的安装目录中方便用户在不具备真实测试环境的情况下快速上手录制和回放脚本。在LoadRunner 12.6中WebTours的运行依赖于一个名为“HP Web Tours Server”的Windows服务。这个服务本质上是一个集成了Perl解释器和Apache HTTP Server的轻量级Web服务器。它与我们常说的Tomcat、Nginx类似负责接收HTTP请求执行对应的Perl脚本.pl文件并与后台的Access数据库.mdb文件交互最终生成动态网页返回给浏览器。2.2 与历史版本的关键差异认知这是避坑的核心。如果你之前接触过LoadRunner 11或更早的版本或者在网上搜索过独立的WebTours安装包请务必忘记那些经验因为它们很可能导致12.6配置失败。服务管理方式不同历史版本如LR11WebTours通常通过一个startWebTours.bat批处理文件来启动运行的是一个独立的进程。关闭时直接关掉命令行窗口或运行stopWebTours.bat。LoadRunner 12.6WebTours Server被注册为一个Windows系统服务。这意味着它可以通过Windows的“服务”管理器进行启动、停止和状态监控具备更高的稳定性和自启动能力。试图寻找或运行.bat文件是徒劳的。配置文件和路径不同核心配置文件hpweb的路径和内容结构在12.6中可能有调整。盲目使用旧版本的配置文件进行替换会导致服务无法识别正确的端口或应用根目录。数据库依赖WebTours使用Microsoft Access数据库webs.mdb。在Windows 10及更高版本的系统上系统可能默认未安装Access数据库引擎ACE这会导致服务启动失败报数据库连接错误。这是一个非常常见的新坑。2.3 必要组件检查清单开始安装前请对照下表进行检查组件作用检查方法备注LoadRunner 12.6 安装程序主体工具包含WebTours样例确认安装包完整建议从官方渠道获取。操作系统运行环境Windows 7 SP1 / 8.1 / 10 / Server 2008 R2 SP1 或更高需64位系统。确保有管理员权限。Microsoft Access Database Engine用于连接和操作.mdb数据库检查控制面板“程序和功能”非必需预装但若缺失会导致服务启动失败。后文会详述安装。端口 1080 和 1099WebTours默认服务端口命令行运行netstat -ano | findstr :1080确保这两个端口未被其他程序如某些代理软件、旧版WebTours占用。管理员权限安装软件、注册服务必需右键点击安装程序选择“以管理员身份运行”全程操作建议在管理员权限下进行。提示强烈建议在安装LoadRunner之前重启一次电脑确保没有残留的测试工具进程占用相关端口。3. LoadRunner 12.6 安装与WebTours服务部署安装LoadRunner本身的过程相对标准但其中有几个与WebTours相关的关键选择点一旦选错后续配置会非常麻烦。3.1 自定义安装中的关键选择运行安装程序后当进入“安装类型”选择时务必选择“自定义安装”。组件选择在组件列表中确保“Samples”或“样例”这一项被勾选。WebTours应用就包含在这个样例包中。如果漏选安装目录下将没有WebTours文件夹。安装路径建议使用默认路径C:\Program Files (x86)\HP\LoadRunner避免使用包含中文或特殊字符的路径。这能最大程度减少因路径解析问题导致服务启动失败的风险。许可证配置安装过程中会要求输入许可证。对于学习和测试可以选择“临时许可证”它通常有50个虚拟用户的限制但对于学习WebTours完全足够。直接跳过或输入临时许可证即可这不会影响WebTours的安装。安装过程完成后不需要立即启动LoadRunner的所有组件。我们的首要任务是验证WebTours的素材是否已就位。3.2 验证WebTours文件与目录结构打开LoadRunner的安装目录默认为C:\Program Files (x86)\HP\LoadRunner找到并进入WebTours文件夹。你应该看到类似下图的目录结构WebTours/ │ ├── cgi-bin/ # 存放Perl脚本的核心目录 │ ├── login.pl │ ├── reservations.pl │ ├── nav.pl │ └── ... ├── htdocs/ # 存放静态资源HTML, 图片, CSS ├── conf/ # 配置文件目录关键 │ └── hpweb.conf # Apache服务器配置文件 ├── logs/ # 服务器日志目录 ├── databases/ # 数据库文件目录 │ └── webs.mdb # Access数据库文件 └── ...确认databases/webs.mdb和conf/hpweb.conf文件存在这是后续配置的基础。3.3 配置并启动HP Web Tours Server服务这是整个流程的核心步骤也是最容易出错的地方。以管理员身份运行配置脚本导航到C:\Program Files (x86)\HP\LoadRunner\WebTours\bin目录。找到install_webtours_server.bat文件。右键点击该文件选择“以管理员身份运行”。这是关键普通用户权限可能无法成功注册系统服务。观察执行过程会弹出一个命令行窗口脚本会自动执行。它会做以下几件事根据hpweb.conf配置注册一个名为“HP Web Tours Server”的Windows服务。设置服务的启动类型、执行路径等参数。执行成功后窗口会提示类似“Service ‘HP Web Tours Server’ installed successfully!”的信息然后窗口会自动关闭。手动启动服务按Win R输入services.msc打开“服务”管理器。在服务列表中找到“HP Web Tours Server”。右键点击该服务选择“启动”。如果启动成功状态会变为“正在运行”。实操心得很多时候安装脚本看似执行成功但服务却启动失败。不要慌先别管脚本的提示直接到服务管理器里查看该服务的状态和属性。右键服务选择“属性”在“登录”选项卡中可以尝试勾选“允许服务与桌面交互”对于调试某些UI错误可能有帮助但非必需。更重要的是如果启动失败去查看“Windows事件查看器”中的应用程序日志里面通常有更详细的错误信息。4. 核心问题排查与故障修复实录即使严格按照步骤操作也可能会遇到服务启动失败的情况。下面是我总结的几个最常见的问题及其解决方案。4.1 端口冲突问题错误Address already in use问题现象在服务管理器中启动“HP Web Tours Server”失败或在事件查看器中看到“Failed to open listen socket on port 1080”之类的错误。排查与解决确认占用进程打开命令行管理员运行netstat -ano \| findstr :1080。这会列出所有占用1080端口的进程及其PID。终止冲突进程记下PID打开任务管理器在“详细信息”选项卡中找到对应PID的进程。常见的占用者可能是旧版未关闭的WebTours、Skype、某些VPN客户端或代理软件。如果是无关紧要的进程可以结束它。如果是httpd.exeApache且PID指向你自己的另一个WebTours服务说明旧服务未卸载干净。彻底清理旧服务如果存在以管理员身份打开命令行运行sc delete HP Web Tours Server。这会删除服务。重新回到第3.3步运行install_webtours_server.bat重新注册服务。修改默认端口备选方案如果1080端口必须被其他重要程序使用可以修改WebTours的配置。打开C:\Program Files (x86)\HP\LoadRunner\WebTours\conf\hpweb.conf。找到Listen 1080这一行将其修改为其他未占用的端口例如Listen 8088。保存文件并重启“HP Web Tours Server”服务。4.2 数据库连接失败错误Could not open database问题现象服务启动后很快停止事件日志显示无法打开webs.mdb文件或提示“Microsoft OLE DB Provider for ODBC Drivers”错误。根本原因系统缺少连接Access数据库.mdb文件的驱动引擎。解决方案安装Microsoft Access Database Engine 2010 Redistributable。下载访问微软官网搜索“AccessDatabaseEngine.exe”进行下载。注意需要下载与系统位数x86/x64对应的版本。对于LoadRunner 12.6的WebTours通常是32位进程优先尝试安装32位x86版本。安装运行下载的AccessDatabaseEngine.exe。如果电脑上已安装了更高版本的Office如Office 2013/2016 64位可能会报错“无法安装因为已存在64位版本”。此时需要以静默方式安装。静默安装针对冲突情况以管理员身份打开命令行。导航到AccessDatabaseEngine.exe所在目录。执行命令AccessDatabaseEngine.exe /quiet。这样通常会安装成功。验证安装完成后重启“HP Web Tours Server”服务。4.3 服务启动后无法访问404或连接拒绝问题现象服务显示“正在运行”但浏览器访问http://localhost:1080/WebTours时打不开页面。排查步骤检查服务状态确保服务是“正在运行”而不是“已启动”后又立刻停止。如果自动停止回头查看事件日志。检查防火墙Windows防火墙或第三方安全软件可能阻止了1080端口。可以尝试暂时关闭防火墙测试或在防火墙设置中为httpd.exe位于WebTours的bin目录下添加入站规则。验证配置文件路径检查hpweb.conf中的DocumentRoot和ScriptAlias指令指向的路径是否正确。默认应指向安装目录下的htdocs和cgi-bin。例如DocumentRoot C:/Program Files (x86)/HP/LoadRunner/WebTours/htdocs ScriptAlias /cgi-bin/ C:/Program Files (x86)/HP/LoadRunner/WebTours/cgi-bin/确保路径中的斜杠和实际目录存在。如果安装路径有更改这里必须同步更新。查看服务器日志打开C:\Program Files (x86)\HP\LoadRunner\WebTours\logs\error.log文件查看Apache服务器是否有错误输出这是最直接的排错依据。4.4 常见问题速查表问题现象可能原因排查步骤与解决方案服务无法启动提示“错误1067”1. 端口被占2. 数据库驱动缺失3. 配置文件错误1.netstat -ano查端口杀进程或改端口2. 安装Access Database Engine3. 检查hpweb.conf语法和路径服务启动后自动停止1. 数据库连接失败2. Perl脚本语法错误3. 依赖的DLL缺失1. 查看Windows事件查看器应用程序日志2. 检查error.log文件3. 尝试以管理员CMD在bin目录手动运行httpd.exe看报错能访问首页但登录/操作失败1. CGI执行权限问题2. 数据库文件损坏或只读1. 确认hpweb.conf中ScriptAlias和AddHandler配置正确2. 检查webs.mdb文件是否位于正确目录属性是否只读VuGen录制时无法捕获事件1. 浏览器代理设置问题2. 录制选项配置错误1. 在VuGen中确保录制类型为“HTML-based”并勾选“使用本地代理”2. 确保URL地址为http://localhost:1080/WebTours5. 功能验证与LoadRunner VuGen集成配置当WebTours服务稳定运行后我们需要从两个层面验证其可用性一是通过浏览器直接访问二是通过LoadRunner的VuGen进行脚本录制。5.1 浏览器端功能验证访问首页打开浏览器输入URLhttp://localhost:1080/WebTours/。你应该能看到WebTours的欢迎页面。用户注册与登录点击页面上的“sign up now”链接注册一个新用户如用户名jojo密码bean。注册成功后使用新用户登录。执行完整业务流程登录后尝试搜索航班出发城市、到达城市、日期可随意填写。选择航班继续订票流程。填写支付信息所有字段可以随意填写如信用卡号12345678。提交订单确认能看到订单确认页面。点击“Sign Off”退出登录。注意事项如果页面样式丢失只有文字没有布局可能是htdocs目录下的CSS文件路径问题。检查浏览器开发者工具F12的“网络”选项卡看是否有CSS文件加载失败。这通常不影响脚本录制因为VuGen主要记录HTTP请求和响应。5.2 VuGen录制配置与脚本生成这是最终目标验证WebTours可以作为被录制对象。启动HP Virtual User Generator (VuGen)从开始菜单找到并启动它。创建新脚本选择“File” - “New”。在弹出窗口中协议选择“Web - HTTP/HTML”这是录制基于浏览器Web应用的标准协议。配置录制选项在主界面点击顶部工具栏的“录制”按钮红色圆点。弹出“开始录制”对话框。Application type选择“Internet Applications”。Program to record选择你刚用来测试的浏览器如Chrome。URL Address输入http://localhost:1080/WebTours/。这是最关键的一步必须与浏览器访问的地址一致。Working directory使用默认或选择一个空文件夹存放脚本。开始录制点击“OK”。VuGen会启动指定的浏览器并打开WebTours首页同时VuGen开始捕获所有HTTP流量。在浏览器中操作重复5.1中的登录、搜索、订票、退出操作。停止录制操作完成后回到VuGen点击“停止”按钮。VuGen会自动生成一段包含web_url,web_submit_data,web_link等函数的脚本。回放验证不进行任何修改直接点击“运行”按钮蓝色三角形回放脚本。在“回放日志”中你应该看到一行行的“Action.c(x): web_url was successful”或类似成功信息最后以“Vuser Terminated.”结束。这证明录制成功WebTours环境与LoadRunner VuGen协同工作正常。5.3 录制与回放中的高级注意事项关联处理WebTours是一个动态应用会话ID如sessionID会随着每次登录变化。在录制较复杂的业务流程后直接回放可能会失败因为脚本中使用了录制时固定的会话ID而回放时服务器生成了新的。这就需要用到LoadRunner的核心功能——关联。VuGen的“Scan Script for Correlations”功能可以自动识别并处理一些常见的关联但对于WebTours你可能需要手动检查web_submit_data中的sessionID等动态值并使用web_reg_save_param函数在之前请求的响应中捕获它然后在后续请求中使用变量{sessionID}。思考时间与事务录制生成的脚本包含了操作之间的等待时间思考时间lr_think_time。在调试阶段可以暂时注释掉这些思考时间以加快回放。为了度量性能你需要在脚本中插入事务lr_start_transaction和lr_end_transaction例如将“登录”、“订票”分别定义为事务。检查点为了验证业务逻辑是否正确可以添加文本检查点web_reg_find。例如在登录后的页面检查是否出现了“Welcome”字样以确保登录成功。至此你已经完成了LoadRunner 12.6环境下WebTours从安装、配置、故障排查到最终集成录制的全流程。这个环境将成为你学习性能测试脚本开发、参数化、关联、场景设计等高级技能的坚实基础。记住搭建环境是第一步也是最磨练耐心的一步。成功越过这些坑之后更广阔的性能测试世界就在前方。如果在后续使用中遇到更深层次的问题如大量虚拟用户并发时的服务器配置调优那将是另一个值得深入探讨的话题了。