পোস্টম্যান: একই সাথে একাধিক অনুরোধ কীভাবে করা যায়


182

আমি পোস্টম্যান গুগল ক্রোম এক্সটেনশান থেকে ডেটা পোস্ট করতে চাই ।

আমি বিভিন্ন ডেটা সহ 10 টি অনুরোধ করতে চাই এবং এটি একই সাথে হওয়া উচিত।

পোস্টম্যানে কি এমন করা সম্ভব?

যদি হ্যাঁ, কেউ আমাকে কীভাবে ব্যাখ্যা করতে পারে যে এটি কীভাবে অর্জন করা যায়?

উত্তর:


182

আমার ধারণা অনুমান পরীক্ষা চালানোর মতো পোস্টম্যানে এমন কোনও বৈশিষ্ট্য নেই।

আমি যদি আপনি থাকতাম তবে আমি অ্যাপাচি জেমেটারকে বিবেচনা করব যা এই জাতীয় দৃশ্যের জন্য ঠিক ব্যবহৃত হয়।

পোস্টম্যান সম্পর্কিত, আপনার প্রয়োজনগুলি কমবেশি পূরণ করতে পারে এমন একমাত্র জিনিস - পোস্টম্যান রানার। এখানে চিত্র বর্ণনা লিখুন সেখানে আপনি বিশদটি নির্দিষ্ট করতে পারেন:

  • পুনরাবৃত্তিও সংখ্যা,
  • বিভিন্ন পরীক্ষার রান ইত্যাদির জন্য ডেটা সহ সিএসভি ফাইল আপলোড করুন etc.

রানগুলি একযোগে হবে না, কেবল একটানা।

আশা করি এইটি কাজ করবে. তবে জেমেটার বিবেচনা করুন (আপনি এটি পছন্দ করবেন)।


7
রায়ের মন্তব্যে সাইটটি ওয়ার্ডপ্রেস
ডট কম

93

পোস্টম্যান তা করেন না তবে আপনি curlব্যাশে একত্রে অনুরোধগুলি চালাতে পারেন :

curl url1 & curl url2 & curl url3 & ...

&প্রতিটি অনুরোধের পরে একটি যুক্ত করতে মনে রাখবেন যার অর্থ হল যে অনুরোধটি async কাজ হিসাবে চালানো উচিত।

পোস্টম্যান তবে আপনার অনুরোধের জন্য কার্ল স্নিপেট তৈরি করতে পারে: https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/


3
সত্যই অ্যাসিঙ্ক আচরণের জন্য এটি একটি সাধারণ, দুর্দান্ত পরীক্ষা - এটি উজ্জ্বল।
ghukill

এটি সর্বোত্তম সমাধান
শোবি

39

আমি জানি না এই প্রশ্নটি এখনও প্রাসঙ্গিক কিনা, তবে পোস্টম্যানে এখন এমন সম্ভাবনা রয়েছে। তারা এটি কয়েক মাস আগে যুক্ত করেছে।

আপনার যা দরকার তা হ'ল সহজ .js ফাইল তৈরি করা এবং এটি নোড.জেএস এর মাধ্যমে চালানো is দেখে মনে হচ্ছে:

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 ফাইলটি চালান ('নোড ফাইলনেম.জেএস' সেন্টিমিটারে)।

আরও বিশদ এখানে


9
কমান্ড-লাইন টুল নিউম্যান ব্যবহার না করে পোস্টম্যান ইউআইয়ের সাথেও একযোগে অনুরোধ পরীক্ষা করার কোনও উপায় আছে?
ফিলি

সুতরাং এই কোডটি চেষ্টা করে দেখুন এবং এটি একই সংগ্রহ_এ চালানোর জন্য কাজ করেছে; তবে আমার যদি 2 টি আলাদা সংগ্রহ (সংগ্রহ_এ এবং সংগ্রহ_বি) থাকে যা আমি সমান্তরালে চালাতে চাই? কীভাবে বিকল্পগুলির পরামিতি পরিবর্তন হবে? আপনি কি এই চেষ্টা করেছেন? সেই ল্যাবটি বাক্সের বাইরে যা সরবরাহ করে তা লোড টেস্টিং ব্যবহারের ক্ষেত্রে আরও বেশি মনে হয় তবে আমি সমান্তরালে একাধিক সংগ্রহ চালাতে চাই; সমান্তরালে সংগ্রহ_এ এবং সংগ্রহ বিয়ের মতো; কোন ধারণা?
পেলিকান

4
আমি
js

4

লোকেরা এখনও এর সহজ সমাধানগুলি সন্ধান করছে কিনা তা নিশ্চিত নয়, তবে আপনি পোস্টম্যানের "সংগ্রহ রানার" এর একাধিক উদাহরণ চালাতে সক্ষম হবেন। কিছু অনুরোধ সহ একটি রানার তৈরি করুন এবং একাধিক উদাহরণ আনতে একাধিকবার "রান" বোতামটি ক্লিক করুন।


এটি প্রশ্নের অনুরোধের সমান্তরালভাবে চলবে না
বৈভব শর্মা

4
বৈভব; প্রতিটি পরীক্ষার রানার উদাহরণ সমান্তরালে চলবে।
আরজেফালকোনার

4

সমান্তরালভাবে একটি ফোল্ডারে সমস্ত সংগ্রহ চালান:

'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
});

4

পোস্টম্যানের সংগ্রহ রানারে আপনি একযোগে অ্যাসিনক্রোনাস অনুরোধ করতে পারবেন না, পরিবর্তে পরিবর্তে অ্যাপাচি জেমেটার ব্যবহার করুন। এটি আপনাকে একাধিক থ্রেড যুক্ত করতে এবং এটিতে সিঙ্ক্রোনাইজিং টাইমার যুক্ত করতে দেয়


2

আপনি যদি কেবল জিইটি অনুরোধ করছেন এবং আপনার ক্রোম ব্রাউজারের মধ্যে থেকে আপনার অন্য একটি সহজ সমাধানের প্রয়োজন হয় তবে কেবল "একাধিক URL খুলুন" এক্সটেনশনটি ইনস্টল করুন:

https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en

আমি একবারে 1500 ইউআরএল চালিয়েছি, গুগল কিছুটা পিছিয়ে পড়েছি তবে এটি কার্যকর হয়।


-7

একটি সহজ জিইউআই পদ্ধতির জন্য, আপনি বিভিন্ন ট্যাবগুলিতে চালাতে চান এমন প্রতিটি অনুরোধ খুলুন। তারপরে আপনি প্রতিটি ট্যাবে যেতে পারেন একটি ক্লিক রান।


1
প্রশ্নটি সমান্তরাল অনুরোধগুলি চালিত হতে
চলেছে

এটি সামান্য সামান্য স্তম্ভিত হয়।
রোনাল্ড

2
যদি আপনার অনুরোধটি 0.05 সেকেন্ড নেয়, তবে একই সাথে একই সাথে ট্যাবগুলি স্যুইচ করতে এবং বোতামটি ক্লিক করার জন্য শুভকামনা ....
জাস্টিনাস

এটি সাধারণ বা যুক্তিসঙ্গত নয়।
চিফ টুপেনসিলস 16
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.