رفتن به محتوای اصلی
فهرست مستندات
Newman CLI

استفاده از reporterهای خارجی و سفارشی در Newman

به‌روزرسانی ۲ دقیقه مطالعه Postman

فهرست مطالب
  1. ساخت reporter سفارشی
  2. استفاده از reporter خارجی یا سفارشی
  3. استفاده از reporter در خط فرمان
  4. استفاده برنامه‌نویسی‌شده

در Newman می‌توانید برای اجرای Collectionها گزارش‌های اختصاصی بسازید. اگر reporterهای داخلی نیاز شما را پوشش نمی‌دهند، می‌توانید از reporterهای خارجی آماده استفاده کنید یا reporter سفارشی خودتان را بنویسید؛ مثلا برای ثبت response body وقتی یک request یا test شکست می‌خورد.

ساخت reporter سفارشی

Reporter سفارشی یک ماژول Node.js است که نام package آن باید با الگوی newman-reporter-<name> ساخته شود.

  1. در مسیر دلخواه یک npm package خالی بسازید:
npm init
  1. یک فایل index.js اضافه کنید و تابعی با این شکل export کنید:
function CustomNewmanReporter (emitter, reporterOptions, collectionRunOptions) {
  // emitter یک event emitter است و رویدادهای اجرای Newman را ارسال می‌کند.
  // reporterOptions گزینه‌های مخصوص همین reporter را نگه می‌دارد.
  // collectionRunOptions گزینه‌های کلی اجرای Collection را نگه می‌دارد.
}
module.exports = CustomNewmanReporter
  1. برای استفاده محلی، با npm pack یک فایل TGZ بسازید و آن را نصب کنید:
npm i -g newman-reporter-<name>.<version>.tgz

نام‌های scoped مثل @myorg/newman-reporter-<name> هم پشتیبانی می‌شوند.

  1. در صورت نیاز می‌توانید reporter را با npm publish در npm منتشر کنید.

استفاده از reporter خارجی یا سفارشی

برای استفاده از یک reporter خارجی یا سفارشی، ابتدا باید package آن را نصب کنید. مثلا برای reporter HTML:

npm install newman-reporter-html

Reporter خارجی زمانی قابل استفاده است که با event sequenceهای Newman سازگار باشد. نام package معمولا با الگوی newman-reporter-<name> است. اگر Newman را global نصب کرده‌اید، reporter را هم global نصب کنید؛ در غیر این صورت نصب local کافی است.

برای نصب reporter محلی که منتشر نشده است:

npm install <path/to/local-reporter-directory>

هنگام معرفی reporter به Newman لازم نیست پیشوند newman-reporter را بنویسید. مثلا اگر package شما newman-reporter-myreporter است، در گزینه‌ها فقط myreporter را استفاده کنید.

استفاده از reporter در خط فرمان

newman run /path/to/collection.json -r myreporter --reporter-myreporter-<option-name> <option-value>

گزینه reporter اختیاری است و فقط وقتی لازم می‌شود که reporter شما تنظیمات خاصی دریافت می‌کند.

استفاده برنامه‌نویسی‌شده

var newman = require('newman');

newman.run({
  collection: '/path/to/collection.json',
  reporters: 'myreporter',
  reporter: {
    myreporter: {
      'option-name': 'option-value'
    }
  }
}, function (err, summary) {
  if (err) { throw err; }
  console.info('collection run complete!');
});

اگر package شما scoped باشد، باید scope را هم در نام reporter بیاورید. مثلا برای package با نام @myorg/newman-reporter-name، reporter را با @myorg/name مشخص کنید.

منبع آموزشی: Postman Docs، بازنویسی و ساده‌سازی‌شده برای کاربران فارسی‌زبان.

ایستگاه بعدی شما

TestRail را همین حالا در محیط دمو ببینید.

محیط تست آماده

دسترسی به دمو TestRail

قبل از ورود، مشخصات زیر را در صفحه ورود محیط دمو وارد کنید.

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user