node接口并发调用测试

并发调用接口测试

var request = require('request');

// 并发执行的线程数
var concurrentThreads = 5;

// 定义每个请求的URL列表
var urls = [
  'http://192.168.10.221:31107/table?sourceName=%E9%97%BD%E6%B8%85%E8%A7%86%E5%9B%BE%E9%9B%86&tableName=%E5%9C%A8%E5%86%8C%E5%85%9A%E5%91%98%E6%95%B0',
  // 'http://192.168.10.221:31107/table?sourceName=%E9%97%BD%E6%B8%85%E8%A7%86%E5%9B%BE%E9%9B%86&tableName=%E5%9C%A8%E5%86%8C%E5%85%9A%E5%91%98%E6%95%B0',
  // 'http://192.168.10.221:31107/table?sourceName=%E9%97%BD%E6%B8%85%E8%A7%86%E5%9B%BE%E9%9B%86&tableName=%E5%9C%A8%E5%86%8C%E5%85%9A%E5%91%98%E6%95%B0',
  // "http://192.168.10.240:11566/set/findSet",
  // "http://192.168.10.240:11566/set/findSet",
  // "http://192.168.10.240:11566/set/findSet",
];

// 定义执行HTTP请求的函数
function executeHttpRequest(url) {
  console.log('Response api', url);
  return new Promise(function(resolve, reject) {
    request({
      url,
      method: "GET",
      headers: {
        "content-type": "application/json",
        "Authorization": "OrderWay pc_1817df6886444f34938fe903e0611861"
      }
    }, function(error, response, body) {
      if (error) {
        // 处理错误情况
        console.error('Error processing', url, error);
        reject(error);
      } else {
        // 处理响应数据,可以根据需求自行定义逻辑

        console.log('Response from', url, body);
        resolve(body);
      }
    });
  });
}
const timestamp1 = Date.parse(new Date());
// 创建并发执行的任务数组
var tasks = [];
urls.forEach(function(url) {
  tasks.push(executeHttpRequest(url));
});

// 并发执行任务
Promise.all(tasks)
  .then(function(results) {
    const timestamp2 = Date.parse(new Date());
    console.log('All requests completed',(timestamp2 - timestamp1));
    // 在此处可以对所有请求的结果进行整合或处理
  })
  .catch(function(error) {
    console.error('One or more requests failed');
    // 处理失败情况
  });

 

posted @ 2023-07-13 16:09  木章  阅读(88)  评论(0)    收藏  举报