Parsa Rezaei
Parsa Rezaei
خواندن ۳ دقیقه·۹ ماه پیش

بیشتر از Postman و اجرای سناریو و تست بدونیم


سلام، امیدوارم که حالتون خوب باشه.

به عنوان اولین پست، خواستم در مورد موضوعی که خودم باهاش اخیرا درگیر شدم رو باهاتون به اشتراک بذارم امیدوارم مفید باشه واستون:)

اول از همه اینکه من از Postman فقط به عنوان داکیومنت API برای پروژه استفاده میکردم و اونقدر عمیق نشده بودم بهش که استفاده بیشتری ازش بکنم تا اینکه توی پروژه آخری که کار کردم به عنوان تست نویس برای پروژه Back-End(Node.js)، تجربه نوشتن تست داخل Postman و سناریو محور بودن API ها رو کسب کردم.



خب ما فرض می کنیم که سه تا API داریم که قراره موقع اجرای سناریو داخل Postman با همدیگه هندل بشن

این اولین API که POST req هست که قراره به عنوان JSON body ازش استفاده بکنیم و هدف این هستش که objectId رو از ریسپانس برداریم و به env اضافه بکنیم که از این id بخوایم برای GET req استفاده کنیم.

طبیعتا نمیتونیم از Pre-request script استفاده بکنیم چون میخوایم از ریسپانس id رو بگیریم و اون رو به env اضافه کنیم، پس اون رو داخل فیلد تست اضافه میکنیم:

طبق خط یک از Postman میخوایم که یک متغیر به نام objectId داخل env اضافه بکنه و value متغیر رو از objectId که ریسپانس داده برداره و بهش اضافه بکنه.

بعد از send request این فیلد اعمال میشه
بعد از send request این فیلد اعمال میشه



حالا میرسیم به بخش دوم که ما میخوایم جزئیات id که ساخته شد رو داخل GET req مشاهده بکنیم.

پ.ن: چون قرار هستش که تست ها به ترتیب و بر اساس سناریو هایی که انجام میشن بررسی بشه قرار هست اینکارو بکنیم

حالا رسیدیم سر وقت Pre-request Script، اگه بخوام یک توضیح کوچیکی از این فیلد بکنم کاری که میکنه و از اسمش هم مشخص هستش اسکریپتی رو که شما نوشتین قبل از اجرای درخواست رکوئست براتون اجراش میکنه.

خط اول یک متغیر نوشتن به اسم objectId و ازش میخوام که value متغیر objectId که داخل env مشخص کردم رو برش داره و توی خط ۴ خواستم url رو برای اجرای درخواست مشخص بکنم که در آخر id رو بهش اضافه میکنه که بتونم جزئیاتشو داخل ریسپانس ببینم.

در آخر بعد از اجرای این اسکریپت ریسپانس بادی اون id مورد نظرمو میتونم ببینم.



میرسیم به بخش سوم API

فرض کنین دوتا مدل داریم که به هم وابسته هستن، شما یک مدل دارید به نام Plan و یک مدل به نام Post که شما برای ایجاد Post داخل Plan مورد نظرتون، id پلن رو باید داشته باشید درسته؟ و شما حین اجرای سناریو نمیتونین دستی این کار رو انجام بدید که تست مراحل خودش رو پیش ببره و وقت گرفته میشه.

در اینجا شما داخل فیلد objectId یک متغیر به همین نام مشخص میکنید و تنها قدم بعدیتون این هستش که داخل Pre-request یک خط اسکریپت بنویسید و ازش بخواین که objectId ست شده در env رو که id پلن هستش رو برداره و در داخل JSON body قرارش بده. به همین سادگی این ۳ API رو بخواید باهمدیگه اجراش بکنین و تستتون رو اجرا بکنین و فقط با ۳ ۴ خط اسکریپت میتونین از دستی تست کردن API فاصله بگیرید:)



امیدوارم که براتون مفید بوده باشه و کمک کرده باشه بهتون=)




نوشتن تستpostmannodejsاجرای سناریوتست
یه برنامه نویس ساده که جنگو کار میکنه و جدیدا هم تصمیم گرفته راه دواپس رو پیش ببره:)
شاید از این پست‌ها خوشتان بیاید