Magento2 400用Apache JMeter获取产品的错误请求

时间:2019-12-17 16:16:38

标签: jmeter magento2 magento-2.3

我正在尝试使用JMeter对Magento 2 API的结帐过程进行负载测试。我们预计将有1000个并发用户。

以下curl命令可以正常工作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ImeApps
{
    public static class empresaGlobal
    {
        public static string empresaID = "3";

        public static String EmpresaID
        {
            get { return empresaID; }
            set { empresaID = value; }
        }

    }
}

但是,当我在JMeter的标头中将相同的Authorization Bearer放入相同的URL时,它不会返回JSON。而是抛出一个400 Bad Request。我还需要其他哪些标题?

这是我的JMeter脚本的内容:

curl -g -X GET "https:/oursite.com/rest/V1/products/25006A/" -H "Authorization: Bearer tm2yd2908exmy0ntoq9esvr5gqoh7upp"

3 个答案:

答案 0 :(得分:1)

尝试添加geoip.city_name: /[gab].*/侦听器,然后查看响应消息中的内容。通常,它告诉您请求有什么问题。

如果我不得不猜测它是view results treecontent-type标头,则需要将其设置为application / json。

希望这会有所帮助

答案 1 :(得分:1)

您的标头名称应为Authorization

Bearer ${varToken}作为标题中的

答案 2 :(得分:1)

JMeter 5.1起,就有可能通过curl命令创建JMeter测试计划

  1. 从JMeter的主菜单中选择Tools -> Import from cURL
  2. 使用以下命令:

    curl "https:/oursite.com/rest/V1/products/25006A/" -H "Authorization: Bearer tm2yd2908exmy0ntoq9esvr5gqoh7upp"
    
  3. 就是这样,JMeter将生成HTTP Request个采样器和HTTP Header Manager并具有正确的值

    enter image description here


脚本的问题是标题名称应为Authorization,标题值应为Bearer tm2yd2908exmy0ntoq9esvr5gqoh7upp