如何在Artillery测试中获取捕获节点的文本内容(非正则/XPath)?
解决Artillery测试中捕获DOM元素文本内容的问题
我之前做Artillery性能测试时也碰到过完全一样的情况!你现在的问题是没有正确指定要捕获的DOM属性——Artillery默认会捕获元素的id(从你的日志输出就能看出来),而你需要明确告诉它要获取元素的文本内容。
不需要正则或者XPath,只需要调整你的capture配置,把attr设置为标准的DOM属性textContent就可以了:
capture: - selector: "#BodyContent_lblWelcome" attr: textContent as: title
然后你用log指令直接打印{{title}}就能得到元素内的文本内容了:
- log: "捕获到的欢迎标题:{{title}}"
补充说明:
- 你之前尝试的
attr: text是不对的,因为DOM元素并没有名为text的属性,textContent是W3C标准的属性,用来获取元素包含的所有文本内容(包括子元素的文本)。 - 如果你更想获取“渲染后的可见文本”,也可以用
attr: innerText,它和textContent的差异主要在于会忽略隐藏元素的文本,不过大部分场景下两者效果一致。 - 之前你的日志输出
[Object: null prototype] { id: 'BodyContent_lblWelcome' },是因为没有指定attr时,Artillery默认会收集元素的id属性,所以捕获到的是一个包含id的对象,而非文本内容。
内容的提问来源于stack exchange,提问作者stimms
相关产品推荐
相关产品推荐

