ฉันต้องการข้อมูล POST จากส่วนขยายบุรุษไปรษณีย์ของ Google Chrome
ฉันต้องการ 10 คำขอด้วยข้อมูลที่แตกต่างกันและควรจะพร้อมกัน
เป็นไปได้ไหมที่จะทำเช่นนี้ในบุรุษไปรษณีย์
ถ้ามีใครสามารถอธิบายให้ฉันฟังได้ว่าสิ่งนี้จะเกิดขึ้นได้อย่างไร?
ฉันต้องการข้อมูล POST จากส่วนขยายบุรุษไปรษณีย์ของ Google Chrome
ฉันต้องการ 10 คำขอด้วยข้อมูลที่แตกต่างกันและควรจะพร้อมกัน
เป็นไปได้ไหมที่จะทำเช่นนี้ในบุรุษไปรษณีย์
ถ้ามีใครสามารถอธิบายให้ฉันฟังได้ว่าสิ่งนี้จะเกิดขึ้นได้อย่างไร?
คำตอบ:
ฉันเดาว่าไม่มีคุณสมบัติดังกล่าวในบุรุษไปรษณีย์ที่จะเรียกใช้การทดสอบพร้อมกัน
ถ้าฉันเป็นคุณฉันจะพิจารณาApache jMeterที่ใช้ตรงกับสถานการณ์ดังกล่าว
เกี่ยวกับบุรุษไปรษณีย์สิ่งเดียวที่สามารถตอบสนองความต้องการของคุณได้มากขึ้นคือ - บุรุษไปรษณีย์ มีคุณสามารถระบุรายละเอียด:
วิ่งจะไม่เกิดขึ้นพร้อมกันเพียงติดต่อกัน
หวังว่าจะช่วย แต่พิจารณา jMeter (คุณจะรักมัน)
บุรุษไปรษณีย์ไม่ได้ทำเช่นนั้น แต่คุณสามารถเรียกใช้หลายcurl
คำขอแบบอะซิงโครนัสใน Bash:
curl url1 & curl url2 & curl url3 & ...
โปรดจำไว้ว่าให้เพิ่มคำสั่ง&
หลังจากแต่ละคำขอซึ่งหมายความว่าคำขอนั้นควรทำงานเป็น async
อย่างไรก็ตามบุรุษไปรษณีย์สามารถสร้างข้อมูลโค้ดสำหรับคำขอของคุณ: https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/
ฉันไม่รู้ว่าคำถามนี้ยังคงเกี่ยวข้องอยู่หรือไม่ แต่ตอนนี้มีความเป็นไปได้ที่บุรุษไปรษณีย์จะ พวกเขาเพิ่มเมื่อไม่กี่เดือนที่ผ่านมา
สิ่งที่คุณต้องมีก็คือสร้างไฟล์. js อย่างง่ายและรันผ่าน node.js ดูเหมือนว่านี้:
var path = require('path'),
async = require('async'), //https://www.npmjs.com/package/async
newman = require('newman'),
parametersForTestRun = {
collection: path.join(__dirname, 'postman_collection.json'), // your collection
environment: path.join(__dirname, 'postman_environment.json'), //your env
};
parallelCollectionRun = function(done) {
newman.run(parametersForTestRun, done);
};
// Runs the Postman sample collection thrice, in parallel.
async.parallel([
parallelCollectionRun,
parallelCollectionRun,
parallelCollectionRun
],
function(err, results) {
err && console.error(err);
results.forEach(function(result) {
var failures = result.run.failures;
console.info(failures.length ? JSON.stringify(failures.failures, null, 2) :
`${result.collection.name} ran successfully.`);
});
});
จากนั้นให้รันไฟล์. js นี้ ('node fileName.js' ในหน่วย cmd)
รายละเอียดเพิ่มเติมที่นี่
ไม่แน่ใจว่าผู้คนยังคงมองหาวิธีแก้ปัญหาแบบง่าย ๆ อยู่หรือไม่ แต่คุณสามารถเรียกใช้ "คอลเลคชันนักวิ่ง" ในหลาย ๆ กรณีในบุรุษไปรษณีย์ เพียงแค่สร้างนักวิ่งด้วยคำขอและคลิกที่ปุ่ม "เรียกใช้" หลาย ๆ ครั้งเพื่อแสดงหลายอินสแตนซ์
เรียกใช้การรวมทั้งหมดในโฟลเดอร์แบบขนาน:
'use strict';
global.Promise = require('bluebird');
const path = require('path');
const newman = Promise.promisifyAll(require('newman'));
const fs = Promise.promisifyAll(require('fs'));
const environment = 'postman_environment.json';
const FOLDER = path.join(__dirname, 'Collections_Folder');
let files = fs.readdirSync(FOLDER);
files = files.map(file=> path.join(FOLDER, file))
console.log(files);
Promise.map(files, file => {
return newman.runAsync({
collection: file, // your collection
environment: path.join(__dirname, environment), //your env
reporters: ['cli']
});
}, {
concurrency: 2
});
ในคอลเลคชั่นของบุรุษไปรษณีย์คุณไม่สามารถทำการร้องขอแบบอะซิงโครนัสได้พร้อมกันดังนั้นให้ใช้Apache JMeterแทน อนุญาตให้คุณเพิ่มหลายเธรดและเพิ่มตัวจับเวลาซิงโครไนซ์
หากคุณทำตามคำขอของ GET และต้องการโซลูชันที่เรียบง่ายจากภายในเบราว์เซอร์ Chrome เพียงติดตั้งส่วนขยาย "เปิดหลาย URL":
https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en
ฉันเพิ่งวิ่งไปแล้ว 1,500 URL ต่อครั้งทำให้ google ล่าช้าเล็กน้อย แต่ใช้งานได้
สำหรับแนวทาง GUI ที่ง่ายกว่าให้เปิดทุกคำขอที่คุณต้องการเรียกใช้ในแท็บต่างๆ จากนั้นคุณสามารถไปที่แต่ละแท็บได้ด้วยคลิกเดียว