Application Inventory با test suiteهای UI موجود شما یکپارچه میشود تا تعاملات API را validate کند و dependencyها را به صورت خودکار کشف کند. این راهنما مراحل ساخت اولین application و اجرای testها با network capture را توضیح میدهد.
اگر workspace جدید را وصل میکنید، فرایند setup هنگام link کردن repository به صورت guided انجام میشود. برای workspaceهای موجود، باید از Application Inventory یک application بسازید و با postman app init آن را initialize کنید.
Step ۱: لینک کردن application به workspace #
برای این مرحله باید از برنامه دسکتاپ Postman استفاده کنید:
- وارد Postman workspace شوید.
- اگر repository هنوز وصل نیست، از sidebar مسیر Files > Open folder را انتخاب کنید و Git project را به workspace وصل کنید.
- فرایند link کردن repository را کامل کنید.
اگر Postman هنگام link کردن repository تستهای Playwright را تشخیص دهد، tag مربوط به application را برای Application Inventory اضافه میکند.
Step ۲: نصب Postman CLI #
اگر Postman CLI را ندارید، آخرین نسخه را نصب کنید:
npm install -D postman-cli
Step ۳: افزودن API testها به workspace #
اگر Postman Collectionهایی دارید که contractهای API شما را نشان میدهند، آنها را به workspace اضافه کنید. این collectionها بعداً برای validate کردن API callهای captureشده استفاده میشوند.
Step ۴: راهاندازی capture plugin #
Postman Playwright plugin را نصب کنید:
npm install -D postman-playwright
روش پیشنهادی: فعال کردن capture در Playwright config #
در فایل پیکربندی Playwright از withPostman استفاده کنید:
// playwright.config.ts
import { defineConfig } from '@playwright/test';
import { withPostman } from 'postman-playwright';
export default withPostman(defineConfig({
// Your existing Playwright configuration
}));
این روش JSON reporter و trace recording داخلی Playwright را فعال میکند. Postman CLI فایلهایی مثل playwright-report.json و trace.zip را میخواند تا network traffic را تحلیل کند. مزیت آن پوشش گستردهتر است، اما ممکن است اجرای testها کمی طولانیتر شود.
روش جایگزین: فعال کردن capture در test fileها #
میتوانید object تست Playwright را با attachNetworkCapture wrap کنید:
import { test as baseTest, expect } from '@playwright/test';
import { attachNetworkCapture } from 'postman-playwright';
const test = attachNetworkCapture(baseTest);
test('has title', async ({ page }) => {
await page.goto('https://playwright.dev/');
await expect(page).toHaveTitle(/Playwright/);
});
این روش overhead کمتری دارد، اما باید test fileها را تغییر دهید یا یک wrapper مشترک بسازید. همچنین فقط traffic مربوط به object داخلی page را capture میکند و pageهایی که دستی با browser.newContext() و context.newPage() ساخته شوند capture نمیشوند.
test('creates a page manually', async ({ browser }) => {
const context = await browser.newContext({
recordVideo: { dir: './videos/' },
});
const page = await context.newPage();
});
Step ۵: initialize و اجرای application testها #
برای initialize کردن پروژه:
postman app init
این command ساختار فایلهای پروژه را تحلیل میکند، امکان انتخاب test command و collection/environment را میدهد، فایل postman.config.cjs میسازد و targetها و filter ruleهای capture را تعریف میکند.
فیلتر کردن traffic نامرتبط #
برای حذف URL، method یا headerهای نامرتبط، بخش filters را در postman.config.cjs تغییر دهید:
filters: {
urlPatterns: ['fonts.googleapis.com', 'localhost:3007', 'fonts.gstatic.com'],
methods: [],
headers: {},
},
اجرای testها #
برای اجرای UI testها با Postman CLI:
postman app test
برای تست local و ارسال نتیجهها به Application Inventory از گزینه زیر استفاده کنید:
postman app test --report-events
Targetها از postman.config.cjs خوانده میشوند، اما میتوانید در زمان اجرا آنها را با --target، --target-environment و --target-collection override کنید.
ساخت collection از traffic captureشده #
اگر API test آماده ندارید، میتوانید از traffic واقعی UI testها collection اولیه بسازید:
postman app test --capture-only
این workflow traffic را capture میکند، draft Postman Collection میسازد، با کمک AI assertionهای اولیه را پیشنهاد میدهد و به شما اجازه میدهد testها را اصلاح و در runهای بعدی استفاده کنید.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

