JMeter压测http接口

野性酷女 2022-03-22 07:18 380阅读 0赞

创建线程组

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 1

线程组下面创建http请求

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 2

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 3

在http请求下面创建自定义变量

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 4

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 5

在http请求下创建BeanShell PreProcessor

有些参数需要进行加密等操作,可以在这个地方写java逻辑

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 6

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 7

比如MD5签名

  1. import java.security.MessageDigest;
  2. import java.security.NoSuchAlgorithmException;
  3. import java.util.Map;
  4. import java.util.TreeMap;
  5. public static void test(){
  6. char[] Digit = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f' };
  7. Random rand = new Random();
  8. vars.put("out_trade_no",rand.nextInt(999999999)+"");
  9. TreeMap params = new TreeMap();
  10. params.put("mchid",vars.get("mchid"));
  11. params.put("out_trade_no",vars.get("out_trade_no"));
  12. params.put("total_fee",vars.get("total_fee"));
  13. params.put("time_start",vars.get("time_start"));
  14. params.put("goods_name",vars.get("goods_name"));
  15. params.put("trade_type",vars.get("trade_type"));
  16. params.put("notify_url",vars.get("notify_url"));
  17. params.put("time_expire",vars.get("time_expire"));
  18. StringBuilder bu = new StringBuilder();
  19. for (String k : params.keySet()) {
  20. String v = params.get(k);
  21. bu.append(k).append("=").append(v).append("&");
  22. }
  23. bu.append("key").append("=").append("c3eKYKddd41345940tLY534FRIvSJ");
  24. String str = bu.toString();
  25. System.out.println(str);
  26. MessageDigest md5;
  27. try {
  28. md5 = MessageDigest.getInstance("MD5");
  29. md5.update(str.getBytes("UTF-8"));
  30. } catch (NoSuchAlgorithmException var8) {
  31. var8.printStackTrace();
  32. } catch (UnsupportedEncodingException var9) {
  33. var9.printStackTrace();
  34. }
  35. byte[] encodedValue = md5.digest();
  36. int j = encodedValue.length;
  37. char[] finalValue = new char[j * 2];
  38. int k = 0;
  39. for (int i = 0; i < j; ++i) {
  40. byte encoded = encodedValue[i];
  41. finalValue[k++] = Digit[encoded >> 4 & 15];
  42. finalValue[k++] = Digit[encoded & 15];
  43. }
  44. String result = new String(finalValue);
  45. vars.put("sign",result.toUpperCase());
  46. }
  47. test();

可以从vars变量中获取和设置变量。

在http请求下创建结果树,查看请求结果。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 8

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 9

创建响应断言

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 10

创建聚合报告

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 11

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 12

创建用表格查看结果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 13

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpaHVheW9uZw_size_16_color_FFFFFF_t_70 14

发表评论

表情:
评论列表 (有 0 条评论,380人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter

    Jmeter工具使用入门教程 添加线程组 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text

    相关 jmeter接口入门

    jmeter压测接口入门 一、适用场景 1、用于压测java接口或其他服务接口,测试接口性能,如对接口的qps有预期要求,需要达到某个值才可以使用接口 二、准备工具

    相关 Jmeter接口

    【Apache Jmeter】     该应用程序是开源软件,旨在为负载测试功能行为和测量性能的100%纯Java应用程序。它最初设计用于测试Web应用程序,但后来扩展