【问题标题】:How can i parse img tags with k6/loadimpact?如何使用 k6/loadimpact 解析 img 标签?
【发布时间】:2020-12-02 10:44:47
【问题描述】:

我现在正在为我的工作使用 k6 负载测试,但遇到了问题。我如何解析来自网站的链接? (已经使用官方的 href 链接示例,但不明白如何改变它以处理图像)

例如,我正在尝试使用此站点 - top-tuning.ru(这是我工作任务中的示例之一)。我需要脚本来解析 img 链接和 href。我已经在尝试官方的 exaples 并且可以解析 href、head 标题、langAttr,但是我无法对 img 做同样的事情。这种结构效果很好:

const res = http.get("top-tuning.ru/"); 
const doc = parseHTML(res); 
const pageTitle = doc.find('head title').text(); 
const langAttr = doc.find('html').attr('lang');
doc.find("body").toArray().forEach(function (item) {
console.log(item.attr("href"));});

【问题讨论】:

  • 我已经在社区论坛回答了你。您需要告诉我们您已经尝试过什么以及哪些没有奏效,以便更好地帮助您:)。这是一个相当接近的问题的答案,可能会对您有所帮助stackoverflow.com/a/61075801/5427244
  • 我不明白如何使用您的脚本来回答我的网站以查找 img 链接
  • 我链接的脚本比图像要多得多。而且它不是我的。您至少可以用您尝试过的内容和您正在尝试的页面更新您的问题(它可能不是您的真实页面,只是一些公共页面),以便我们可以更好地诊断究竟是什么不起作用?此外,您用于链接的内容也可能会有所帮助
  • 但是每次尝试在另一个代码中使用图像都会给我 作为结果,或者 和 .

标签: javascript parsing load-testing k6


【解决方案1】:

使用以下脚本,我可以获取您的图像:

import http from "k6/http";
import { parseHTML } from "k6/html";

export default function() {
    const res = http.get("https://top-tuning.ru/"); 
    const doc = parseHTML(res.body); 
    const pageTitle = doc.find('head title').text(); 
    const langAttr = doc.find('html').attr('lang');
    doc.find("img").toArray().forEach(function (idx) {
        console.log(idx.attr("src"));
    });
}

我需要更改的导入部分是:

  1. 您需要协议(在本例中为 https)来发出请求
  2. 您需要提供正文而不是响应对象来解析HTML

在那之后 - 一切正常:)

希望对你有帮助,你也可以使用console.logObject.keys(object)JSON.stringify(object)当你不知道发生了什么的时候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2016-08-14
    相关资源
    最近更新 更多