আমি পোস্টম্যান গুগল ক্রোম এক্সটেনশান থেকে ডেটা পোস্ট করতে চাই ।
আমি বিভিন্ন ডেটা সহ 10 টি অনুরোধ করতে চাই এবং এটি একই সাথে হওয়া উচিত।
পোস্টম্যানে কি এমন করা সম্ভব?
যদি হ্যাঁ, কেউ আমাকে কীভাবে ব্যাখ্যা করতে পারে যে এটি কীভাবে অর্জন করা যায়?
আমি পোস্টম্যান গুগল ক্রোম এক্সটেনশান থেকে ডেটা পোস্ট করতে চাই ।
আমি বিভিন্ন ডেটা সহ 10 টি অনুরোধ করতে চাই এবং এটি একই সাথে হওয়া উচিত।
পোস্টম্যানে কি এমন করা সম্ভব?
যদি হ্যাঁ, কেউ আমাকে কীভাবে ব্যাখ্যা করতে পারে যে এটি কীভাবে অর্জন করা যায়?
উত্তর:
আমার ধারণা অনুমান পরীক্ষা চালানোর মতো পোস্টম্যানে এমন কোনও বৈশিষ্ট্য নেই।
আমি যদি আপনি থাকতাম তবে আমি অ্যাপাচি জেমেটারকে বিবেচনা করব যা এই জাতীয় দৃশ্যের জন্য ঠিক ব্যবহৃত হয়।
পোস্টম্যান সম্পর্কিত, আপনার প্রয়োজনগুলি কমবেশি পূরণ করতে পারে এমন একমাত্র জিনিস - পোস্টম্যান রানার। সেখানে আপনি বিশদটি নির্দিষ্ট করতে পারেন:
রানগুলি একযোগে হবে না, কেবল একটানা।
আশা করি এইটি কাজ করবে. তবে জেমেটার বিবেচনা করুন (আপনি এটি পছন্দ করবেন)।
পোস্টম্যান তা করেন না তবে আপনি curl
ব্যাশে একত্রে অনুরোধগুলি চালাতে পারেন :
curl url1 & curl url2 & curl url3 & ...
&
প্রতিটি অনুরোধের পরে একটি যুক্ত করতে মনে রাখবেন যার অর্থ হল যে অনুরোধটি async কাজ হিসাবে চালানো উচিত।
পোস্টম্যান তবে আপনার অনুরোধের জন্য কার্ল স্নিপেট তৈরি করতে পারে: https://learning.getpostman.com/docs/postman/sending_api_requests/generate_code_snippets/
আমি জানি না এই প্রশ্নটি এখনও প্রাসঙ্গিক কিনা, তবে পোস্টম্যানে এখন এমন সম্ভাবনা রয়েছে। তারা এটি কয়েক মাস আগে যুক্ত করেছে।
আপনার যা দরকার তা হ'ল সহজ .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 ফাইলটি চালান ('নোড ফাইলনেম.জেএস' সেন্টিমিটারে)।
আরও বিশদ এখানে
লোকেরা এখনও এর সহজ সমাধানগুলি সন্ধান করছে কিনা তা নিশ্চিত নয়, তবে আপনি পোস্টম্যানের "সংগ্রহ রানার" এর একাধিক উদাহরণ চালাতে সক্ষম হবেন। কিছু অনুরোধ সহ একটি রানার তৈরি করুন এবং একাধিক উদাহরণ আনতে একাধিকবার "রান" বোতামটি ক্লিক করুন।
সমান্তরালভাবে একটি ফোল্ডারে সমস্ত সংগ্রহ চালান:
'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
});
পোস্টম্যানের সংগ্রহ রানারে আপনি একযোগে অ্যাসিনক্রোনাস অনুরোধ করতে পারবেন না, পরিবর্তে পরিবর্তে অ্যাপাচি জেমেটার ব্যবহার করুন। এটি আপনাকে একাধিক থ্রেড যুক্ত করতে এবং এটিতে সিঙ্ক্রোনাইজিং টাইমার যুক্ত করতে দেয়
আপনি যদি কেবল জিইটি অনুরোধ করছেন এবং আপনার ক্রোম ব্রাউজারের মধ্যে থেকে আপনার অন্য একটি সহজ সমাধানের প্রয়োজন হয় তবে কেবল "একাধিক URL খুলুন" এক্সটেনশনটি ইনস্টল করুন:
https://chrome.google.com/webstore/detail/open-multiple-urls/oifijhaokejakekmnjmphonojcfkpbbh?hl=en
আমি একবারে 1500 ইউআরএল চালিয়েছি, গুগল কিছুটা পিছিয়ে পড়েছি তবে এটি কার্যকর হয়।
একটি সহজ জিইউআই পদ্ধতির জন্য, আপনি বিভিন্ন ট্যাবগুলিতে চালাতে চান এমন প্রতিটি অনুরোধ খুলুন। তারপরে আপনি প্রতিটি ট্যাবে যেতে পারেন একটি ক্লিক রান।