通过脚本录制断言特定业务逻辑的执行结果

您可以通过创建浏览器探测任务,模拟用户在不同地域、不同网络环境下通过浏览器访问探测目标,观测探测目标在浏览器访问时的稳定性和性能。新创建的浏览器探测任务的状态默认为运行中,达到探测频率后,该任务自动执行。本文以淘宝网站的研发人员通过脚本录制断言该网站在谷歌(Chrome)浏览器上的加载完整性为例进行介绍。

前提条件

  • 请确保您已开通网络分析与监控。具体操作,请参见开通网络分析与监控

    关于浏览器探测的计费标准,请参见浏览器探测#

  • 请确保您已创建报警联系人和报警联系人组。具体操作,请参见创建报警联系人或报警联系人组

  • 如果您需要在设置报警规则时使用报警回调功能,请准备可以通过公网访问的回调URL,并将IP地址106.11.225.0/24、106.11.226.0/24、106.11.227.0/24、106.11.242.0/24、106.11.167.0/24、106.11.245.0/24、59.82.0.0/16、59.82.84.0/24、203.119.128.0/17、203.119.156.0/24和121.41.9.246加入防火墙的白名单。

使用限制

仅PC端的浏览器支持脚本录制。

操作步骤

  1. 创建浏览器探测任务。

    1. 登录云监控控制台

    2. 在左侧导航栏,选择网络分析与监控 > 站点监控

    3. 监控任务页签,单击创建任务

    4. 创建任务页面,设置浏览器探测任务的相关信息。

      • 基本信息

        输入任务名称监控地址输入https://www.taobao.com/浏览器与设备选择PC上的Chrome,其他参数均保持默认值。

        参数

        说明

        任务名称

        浏览器探测任务支持的任务名称。

        取值:4~100个字符,支持英文字母、数字、下划线(_)和汉字。

        监控地址

        浏览器探测的目标地址。

        换行可以输入多个监控地址,例如:https://www.taobao.com/

        说明

        当您输入多个监控地址时,每个监控地址都会自动生成一个浏览器探测任务,从而消耗5个浏览器探测任务的额度。

        监控频率

        浏览器探测的周期。

        取值:5分钟、15分钟、30分钟和60分钟。例如:选择5分钟频率,各地域探测点将以5分钟一次的频率监控目标地址。

        浏览器与设备

        在不同设备(PC、平板电脑和手机)的不同浏览器(Chrome、Edge、Firefox和Safari)上探测目标地址。

        严格模式

        启用严格模式后,拨测过程中任何加载失败的资源都会导致拨测任务失败。

        证书错误

        如果选择忽略证书错误, 探测过程中将忽略证书已过期、证书不匹配等问题。

        额外等待时间

        如果您的网页加载后会进行二次跳转,可以设置额外等待时间来更准确的采集监控数据。

        自定义项

        自定义Header(包括Key和Value)和Host(主机的域名和IP地址)。

        说明

        单击高级设置,可设置该参数。

        DNS服务器

        DNS服务器类型。取值:

        • 系统默认DNS

        • 探测点对应的运营商DNS

        • 自定义DNS

        说明

        单击高级设置,可设置该参数。

        DNS劫持检查

        设置运营商DNS劫持白名单。

        说明

        单击高级设置,可设置该参数。

        流量劫持检查

        设置流量劫持检查项。取值:

        • 资源个数阈值:页面发生重定向时,如果加载资源的个数超过这个阈值,就会认为发生了流量劫持。

        • 资源黑名单:您期望的页面在加载过程中不会出现这些资源。

        • 资源白名单:您期望的页面在加载过程中只会出现这些资源。

        说明

        单击高级设置,可设置该参数。

        页面文字断言

        页面字符断言的黑名单和白名单。取值:

        • 页面字符黑名单:您期望的页面中不会出现这些字符。

        • 页面字符白名单:您期望的页面中只会出现这些字符。

        说明

        单击高级设置,可设置该参数。

        屏蔽资源列表

        屏蔽一些不必要或有害的资源。

        说明

        单击高级设置,可设置该参数。

      • 断言定义

        断言使用默认可用条件(即首包时间小于1000ms)。

        您可以为断言设置多个可用条件,仅当所有条件都满足时,本次探测结果才被定义为可用。当云监控默认提供的可用条件不能满足您的需求时,请单击添加可用组,多个条件组之间是和的关系(and)。

      • 选择探测点

        探测点使用默认的探测点。

      • 设置报警

        报警规则使用默认的可用率报警规则。

        云监控默认提供一条报警规则。如果默认规则不能满足您的需求,请按照如下操作重新添加规则。

        1. 单击添加规则

        2. 设置规则描述相关参数。

          参数

          描述

          规则名称

          报警规则的名称。

          指标名称

          报警规则的指标名称。取值:

          • 可用性

          • 首屏时间

          • 元素错误数

          • 总下载时间

          比较

          报警规则的阈值比较符。取值:

          • >=

          • >

          • <=

          • <

          • =

          • !=

          • 同比昨天同时间上涨

          • 同比昨天同时间下降

          • 同比上周同一时间上涨

          • 同比上周同一时间下降

          • 环比上周期上涨

          • 环比上周期下降

          阈值和报警级别

          报警级别和该级别对应的阈值。

          报警级别对应的报警通知方式如下:

          • Critical:电话+短信+邮件+WebHook。

          • Warn:短信+邮件+WebHook。

          • Info:邮件+WebHook。

          报警级别Info对应的报警通知方式为邮件+WebHook

          报警连续周期取值:1、2、3、4、5、10、15和20。

          标签

          报警规则的标签名称和标签值。

          弹性伸缩

          如果您打开弹性伸缩开关,当报警发生时,会触发相应的伸缩规则。您需要设置弹性伸缩的地域弹性伸缩组弹性伸缩规则

          日志服务

          如果您打开日志服务开关,当报警发生时,会将报警信息发送至日志服务的日志库。您需要设置日志服务的地域ProjectNameLogstore

          关于如何创建Project和Logstore,请参见快速入门

          轻量消息队列(原 MNS)— topic

          如果您打开轻量消息队列(原 MNS)— topic开关,当报警发生时,会将报警信息发送至消息服务的主题。您需要设置消息服务的地域和主题。

          关于如何创建主题,请参见创建主题

          函数计算

          如果您打开函数计算开关,当报警发生时,会将报警通知发送至函数计算进行格式处理。您需要设置函数计算的地域、服务和函数。

          关于如何创建服务和函数,请参见快速创建函数

        3. 单击确定

      • 配置报警联系组

        选择报警联系人组,高级设置中的参数均保持默认值。

        参数

        描述

        报警联系组

        发送报警的联系人组。请您至少选择一个报警联系组。

        报警通知会发送给该报警联系组中的报警联系人。报警联系组是一组报警联系人,可以包含一个或多个报警联系人。

        通道沉默周期

        报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时和24小时。

        某监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。

        说明

        单击高级设置,可设置该参数。

        生效时间

        报警规则的生效时间,报警规则只在生效时间内才会检查监控数据是否需要报警。

        说明

        单击高级设置,可设置该参数。

        报警回调

        公网可访问的URL,用于接收云监控通过POST请求推送的报警信息。目前仅支持HTTP协议。关于如何设置报警回调,请参见使用阈值报警回调

        当您需要测试报警回调地址的连通性时,可以执行以下操作。

        1. 单击回调地址正后方的测试

          WebHook测试面板,您可以通过Webhook返回的状态码和测试结果详情对报警回调地址的连通性进行判断和排查。

          说明

          您还可以设置Webhook的回调模板类型语言,再次单击测试,获取对应的测试结果详情。

        2. 单击关闭

        说明

        单击高级设置,可设置该参数。

    5. 单击保存并编辑脚本录制

  2. (可选)在谷歌(chrome)浏览器加载扩展程序:云监控浏览器拨测插件。

    说明

    仅当您初次使用脚本录制功能时,需要执行本操作。

    1. 脚本录制页面,单击本地安装

      下载云监控浏览器拨测插件包。

    2. 解压云监控浏览器拨测插件包。

    3. 在谷歌(chrome)浏览器上输入chrome://extensions/

    4. 扩展程序页面,先打开右上角的开发者模式开关,再单击加载已解压的扩展程序,然后选择已解压的云监控浏览器拨测插件包,最后单击选择文件夹

      您会看到已加载的扩展程序:云监控浏览器拨测插件。

    5. 刷新脚本录制页面。

      在右侧的脚本录制区域,显示淘宝页面,您可以录制操作脚本。

  3. 脚本录制页面,断言网站加载完整性。

    本操作以断言淘宝网站图片显示完整性为例。

    1. 单击左上角的断言

    2. 检测页面元素区域,单击测试元素是否存在

    3. 在右侧录制区域,单击淘宝网站上的目标图片。

      当断言内容显示如下图,说明已成功录制断言内容,此时使用云监控自动生成的定位器,来定位目标元素。如果定位失败或定位不准确,则您可以自行指定定位器。

      image

  4. 查看浏览器探测结果。

    监控任务页签,单击目标探测任务名称链接,您可以查看其探测结果。

    对于错误的探测记录,您可以先单击其对应操作列的详情,再在详情分析页面,单击详细步骤页签,查看具体操作步骤及其错误原因。