CI/CD روشی است که در آن تغییرات کد به صورت منظم در یک repository مشترک ثبت میشود و بعد از هر commit، فرایند خودکار build و test اجرا میشود. با Newman میتوانید تستهای Postman را هم به این pipeline اضافه کنید تا هر push به GitHub باعث اجرای خودکار تستهای API شود.
اجرای تستهای Postman با Travis CI #
در Travis CI، مثل بسیاری از ابزارهای CI دیگر، کافی است تنظیمات پروژه را طوری بنویسید که هنگام build یک دستور shell اجرا شود. این دستور Newman را اجرا میکند، Collection شامل تستها را run میکند و با exit code مناسب به Travis CI میگوید build موفق بوده یا شکست خورده است.

شروع کار #
- Collection تست را انتخاب کنید. معمولا از قبل یک Postman Collection دارید که requestها و test scriptهای API را در خود نگه میدارد.
- یک GitHub repository آماده کنید. برای این نمونه، Collection تست در یک repository عمومی GitHub قرار میگیرد.
- Travis CI را تنظیم کنید. وارد Travis CI شوید و integration مربوط به repository خود را فعال کنید.
اتصال Postman به Travis CI #
- Collection نمونه، مثل Hello World، را به صورت JSON export کنید و نام فایل را
hello_world.postman_collection.jsonبگذارید. - در ریشه پروژه پوشهای با نام
testsبسازید و فایل Collection را داخل آن قرار دهید.
.
└── tests
└── hello_world.postman_collection.json
اگر Collection شما از environment استفاده میکند، environment را هم export کنید و در همین پوشه قرار دهید.
- در ریشه repository فایل
.travis.ymlبسازید.
.
├── .travis.yml
└── tests
└── hello_world.postman_collection.json
- در فایل
.travis.ymlنصب Newman و اجرای Collection را تعریف کنید.
language: node_js
node_js:
- "16.13.2"
install:
- npm install newman
before_script:
- node --version
- npm --version
- node_modules/.bin/newman --version
script:
- node_modules/.bin/newman run tests/hello_world.postman_collection.json
اگر environment هم export کردهاید، آن را با گزینه -e به دستور اضافه کنید:
script:
- node_modules/.bin/newman run tests/hello_world.postman_collection.json -e tests/tests.postman_environment.json
- تغییرات را commit و به GitHub push کنید. Travis CI به صورت خودکار build را اجرا میکند.

بررسی شکست تستها #
برای دیدن رفتار build هنگام شکست تست، میتوانید عمدا یکی از assertionهای Collection را تغییر دهید. برای مثال در تب Scripts > Post-response، متن مورد انتظار را از Hello, World! به Hello, Everyone! تغییر دهید، Collection را دوباره export کنید و به repository push کنید.
این بار Travis CI build را ناموفق نشان میدهد:

با باز کردن build ناموفق و بخش log، میتوانید assertion شکستخورده را ببینید و علت خطا را پیدا کنید:

بعد از اصلاح تست در Postman، Collection را دوباره export کنید، فایل JSON را در پوشه tests جایگزین کنید، سپس commit و push انجام دهید تا build دوباره اجرا شود.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

