Azure Application Insights可用性测试多行内容匹配失败求助
Azure Application Insights 可用性测试多内容匹配失败解决办法
用正则表达式实现多行匹配
Azure Application Insights的Content Match支持正则语法,直接用单行模式正则就能跨多行匹配内容。比如用(?s)<html lang="en">.*?<head>:(?s)开启单行模式,让.能匹配换行符.*?做非贪婪匹配,避免误匹配到页面其他位置的内容
先确认响应的实际格式
先用curl或Postman拉取status URL的完整响应,看看<html lang="en">和<head>之间有没有多余的空白、制表符或者特殊换行符。如果有,调整正则为(?s)<html lang="en">\s*<head>,\s*可以匹配任意数量的空白字符,兼容格式差异。拆分测试结合警报规则
如果正则方案走不通,就拆成两个独立的可用性测试,分别匹配<html lang="en">和<head>,然后在警报规则里设置仅当两个测试都失败时触发警报,同样能实现同时验证两个内容的需求。检查匹配模式是否正确
一定要确认Content Match的模式选的是「正则表达式」,而不是「字面匹配」。字面匹配会严格校验所有字符(包括换行、空格),跨两行的内容肯定匹配不上。
内容的提问来源于stack exchange,提问作者Jeremiah Sellars
相关产品推荐
相关产品推荐

