מבוא
במאמר זה, אסקור את תהליך הרצת חבילת בדיקות ה-API שלנו באמצעות קונטיינר דוקר. הקונטיינר מכיל את ניומן - מריץ האוספים (Collection Runner) של פוסטמן משורת הפקודה.
אני מניח שאתם כבר מכירים את פוסטמן ואולי משתמשים בניומן לתהליך ה-CI/CD שלכם.
יתרונות הכלי - מדוע כדאי להשתמש בקונטיינר לבדיקות?
כדי שניומן יוכל להריץ את חבילת הבדיקות שלנו, נדרשות ההתקנות הבאות:
ההתקנות גוזלות זמן, ולעיתים גרסאות אחרות של node / newman עלולות לגרום לבדיקות להיות לא יציבות (flaky) או להיכשל לחלוטין.
כדי להימנע מביצוע התקנה זו שוב ושוב על המחשבים של עמיתינו לעבודה / מכונת ענן מרוחקת וכדי להבטיח שסביבת הבדיקות שלנו מבודדת, דוקר בא לעזרתנו.
התקנת דוקר והגדרת הסביבה
ראשית, עלינו להתקין את גרסת הקהילה של דוקר (Docker community edition).
עבור Windows, קיימות שתי חלופות:
- האתר הרשמי של דוקר - מידע נוסף ניתן למצוא כאן.
- דרך Chocolatey בקישור זה.
יש לאפשר את Hyper-V - מידע נוסף ניתן למצוא כאן.
למשתמשי לינוקס אובונטו:
הרצת חבילת הבדיקות שלנו
כעת, לאחר שהכל מותקן, הריצו את הפקודה הבאה מתיקיית חבילת הבדיקות שלנו:
docker run -v {test_suite_folder}:/etc/postman -t postman/newman_ubuntu1404 \
--collection="API.json" \
--globals="globals.json" \
--environment="env.json" \
--reporters="junit" \
--reporter-junit-export="newman-report.xml"
הסבר הפקודות:
- דוקר מבצע mount לנתיב הבדיקות שלנו לנתיב פנימי בקונטיינר /etc/postman באמצעות הדגל
-v
. - הקצינו pseudo-tty לקונטיינר כדי לבצע את המשימה שהיא newman_ubuntu1404 באמצעות הדגל
-t
. - הרצת חבילת בדיקות בשם “API.json” באמצעות הדגל
--collection
. - משתנים גלובליים מספקים לבדיקות שלנו סט של משתנים הזמינים בכל הטווחים (scopes). בדוגמה זו יש לנו קובץ גלובלי בשם “globals.json”, באמצעות הדגל
--globals
. - מאתר פוסטמן: סביבה (environment) היא סט של זוגות מפתח-ערך. המפתח מייצג את שם המשתנה, סביבות מאפשרות לך להתאים אישית בקשות באמצעות משתנים כך שתוכל לעבור בקלות בין הגדרות שונות מבלי לשנות את הבקשות שלך. קובץ הסביבה נקרא “env.json” וסופק באמצעות הדגל
--environment
. - שמרנו קובץ דוח בפורמט JUnit באמצעות הדגל
--reporters
. פורמט זה מומלץ מכיוון שלג’נקינס יש תוסף המציג דוחות JUnit, ניתן גם להשתמש באפשרות “CLI” כדי להדפיס את התוצאות לקונסול. - ייצאנו את הדוח לקובץ בשם “newman-report.xml” באמצעות הדגל
--reporter-junit-export
.
לסיכום
במאמר זה סקרנו הרצה של חבילת בדיקות ה-API האוטומטיות שלנו באמצעות קונטיינר דוקר קיים מ-Docker Hub, התחלנו בהתקנת דוקר על המכונה שלנו, לאחר מכן הרצנו את הפקודה שמבצעת את הבדיקות שלנו אשר הוסברה שורה אחר שורה. כעת אנו יכולים להרחיב (scale) את הבדיקות שלנו לכל סביבה (אמזון, גוגל קלאוד וכו’..); ההתקנה היחידה הנדרשת היא דוקר.
בדיקות מהנות!