简而言之,UserView 和浏览器视图平台在真实浏览器中加载网页并执行所有页面组件。 通过 HTTP(S) 监视使用模拟的合成浏览器,并且仅下载无需呈现即可请求的页面元素。

HTTP(S)任务利用自定义合成浏览器和服务器之间的 HTTP/S 请求来执行监视。 虽然 HTTP(S) 任务也可以记录和重播以监视应用程序,但它在监视与 Web 应用程序关联的服务器性能时特别有用。 此外,HTTP(S) 任务支持动态变量、Cookie 和安全站点。 HTTP(S)任务使用自定义进程(而不是常规浏览器)来重播录制的步骤,因此不建议大量使用富 Internet 应用程序(RIA) 的网站(如 JavaScript 或 AJAX)进行重播。 由于 Web 内容可能不会嵌入到 HTTP(S) 响应中(在运行 AJAX 的情况下),HTTP(S) 任务可能会触发内容验证上的错误警报。

另一方面,从浏览器视图和用户视图平台创建的任务使用常规浏览器打开网页并重播任务。 因此,它们两者都在真正的浏览器窗口中提供内容验证,因此您可以直观地检查相关内容是否存在。 此外,UserView 还通过应用程序重播多步骤路径,例如购物车或登录提交。 UserView 监视能够在监视期间模拟实际的浏览器事件,例如鼠标单击、文本键入和悬停。 这些事件在浏览器窗口中执行(请参阅上图)。 UserView 监视的常规浏览器方面可以与虚拟键盘/鼠标”图片匹配”技术相结合,该技术支持监视运行 RIA 的非常复杂的 Web 应用程序,包括 Silverlight、AJAX、Flex、Flash、JavaScript、小程序、加载项以及其他与浏览器动态交互的网页对象。 此外,UserView 能够在检测到问题时录制页面交互的视频捕获。

如何做出选择

检查哪种监视类型最合适的方法之一是确定是要确保网页可供最终用户使用,还是检查其内容是否正确呈现。

如果 URL 可用性有问题,请选择 HTTP(S) 任务。

如果内容验证很重要,请从浏览器查看或用户视图平台选择任务。 要在浏览器查看和用户视图平台之间进行选择,只需测试要监视的页面即可。 如果页面包含JavaScript,它可能会操作内容或从您的或第三方服务器额外加载内容,则建议使用 UserView 平台。

由于 HTTP(S) 任务和浏览器视图和用户视图平台的任务存在这些差异,因此每个任务类型测量的响应时间也存在差异。

有关差异的示例,请参阅下文:

网站http://daniel.lorch.cc/docs/ajax_simple/ajax-cool.html?有一个编辑字段。 如果数字”1″输入编辑字段,JavaScript 将请求http://daniel.lorch.cc/docs/ajax_simple/validate.php,该请求应返回”用户名太短”字符串并将其显示为 HTML。

由于 UserView 监视脚本模拟真实浏览器的操作,它将执行以下步骤:加载页面、查找编辑字段并输入”1″;最后一个操作是关键字验证”用户名太短”字符串显示在 HTML 中:

用户查看脚本

script_version=1.4;recorder_version=1.26.6.23847;日期=17.11.2010;IE=8.0.6001.18702;

DM浏览器 dmb0 = null;

步骤(1,#”-http://daniel.lorch.cc/docs/ajax_simple/ajax-cool.html?);

dmb0 = 选项卡.NewTab();

dmb0.GoTo(”http://daniel.lorch.cc/docs/ajax_simple/ajax-cool.html?);

dmb0.文本字段(”//INPUT_不(@NAME)而不是(@TYPE)]”)。单击();

dmb0.文本字段(”//INPUT_不(@NAME)而不是(@TYPE)]”)。类型文本(”1″);

DMAssert.CHECK(\”搜索’用户名太短 > ‘”,()=dmb0。文本.包含(”用户名太短”dmb0);

HTTP(S) 监视以不同方式执行此任务。 它模拟低级 HTTP(S) 请求。 例如,如果以前的 UserView 监视示例转换为 HTTP(S) 监视过程,则监视将作为两个带有 GET 请求的 HTTP 任务进行:

HTTP(S) 任务

获取http://daniel.lorch.cc/docs/ajax_simple/ajax-cool.html

获取http://daniel.lorch.cc/docs/ajax_simple/validate.php?name=1