במאמר הזה מתוארות התבניות וקוד לדוגמה שזמינים כדי לעזור לכם ליצור בדיקות סינתטיות. הפונקציות לדוגמה זמינות במאגר Google Cloud/synthetics-sdk-nodjs ב-GitHub.
אם אתם כותבים בדיקות ולא מסתמכים על תבנית, אתם צריכים לוודא שהבדיקה עוברת אלא אם מוצג Error. מומלץ להשתמש בספרייה Assert כדי לוודא שכשיש כשלים, הם משויכים לשורת הקוד המתאימה.
תבניות כלליות
התבניות הגנריות מוגדרות לאיסוף נתוני מעקב ויומן עבור בקשות HTTP יוצאות. הפתרון מבוסס על מודול auto-instrumentation-node של OpenTelemetry ועל winston logger. בגלל התלות במוצרים עם קוד פתוח, צפויים שינויים במבנה של נתוני המעקב והיומן. לכן, צריך להשתמש בנתוני העקבות והיומן שנאספו רק למטרות ניפוי באגים.
אתם יכולים להטמיע גישה משלכם לאיסוף נתוני מעקב ויומן עבור בקשות HTTP יוצאות. דוגמה לגישה מותאמת אישית אפשר לראות בכיתה SyntheticAutoInstrumentation.
דוגמה גנרית של Node.js
בדוגמה generic-synthetic-nodejs מוסבר איך לשלוח שאילתה לגבי כתובת URL. הדוגמה הזו מכילה את אותה פונקציה שמוצגת כברירת מחדל במסוף Google Cloud . כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
דוגמה ל-TypeScript
בדוגמה generic-synthetic-typescript מוצג איך לשלוח שאילתה לגבי כתובת URL. כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
תבנית Puppeteer
אם אתם משתמשים ב-Puppeteer, כדאי להתחיל עם הדוגמה generic-puppeteer-nodejs.
הגדרה נדרשת של Puppeteer
כדי להשתמש ב-Puppeteer, צריך לבצע את השלבים הבאים:
כוללים את
.puppeteerrc.cjsבספריית קובצי המקור של פונקציית Cloud Run:מוסיפים את הסקריפט הבא לקובץ
package.jsonשל פונקציית Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
דוגמה ל-Puppeteer
בדוגמה generic-puppeteer-nodejs אפשר לראות איך להשתמש ב-Puppeteer עם פונקציית Cloud Run. כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
תבנית Selenium WebDriver
אם אתם משתמשים ב-Selenium WebDriver, כדאי להתחיל עם הדוגמה generic-selenium-nodejs. הדוגמה, שזמינה ב-GitHub, כוללת קובץ index.js וקובץ package.json.
כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
תבנית מוקה
אם אתם כותבים בדיקות שמסתמכות על התבנית Mocha, כדאי לשקול אם רצף של בדיקות צריך להימשך או להיפסק כשמתרחש כשל. כדי להפסיק רצף של בדיקות אחרי כשל, צריך להגדיר את הדגל bail.
במאמר הבלוג Google Cloud Synthetic Monitoring Tutorial מופיעה דוגמה מקיפה שכוללת פריסת API, חבילת בדיקות לדוגמה של Mocha לנקודות הקצה של ה-API והסבר על הגדרת המעקב הסינתטי.
בדוגמה mocha-url-ok מוצג איך פונקציית Cloud Run יכולה להפעיל חבילת בדיקות של Mocha, והיא כוללת חבילת בדיקות לדוגמה.
כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
תבנית לקישור מנותק
בדוגמה broken-links-ok אפשר לראות איך מגדירים כלי לבדיקת קישורים שבורים.
בתבנית הזו, מציינים רק את הערכים של אובייקט options. באובייקט הזה מצוין ה-URI שצריך לבדוק, והפרמטרים של הבדיקה.
אם אתם משתמשים ב-Puppeteer, הקפידו להשלים את השלבים של הגדרת Puppeteer הנדרשת.
כדי לראות את הדוגמה המלאה, לוחצים על more_vert More (עוד) ואז בוחרים באפשרות View on GitHub (צפייה ב-GitHub).
המאמרים הבאים
- יצירת מעקב סינתטי
- יצירת כלי לבדיקת קישורים שבורים
- ניהול של בדיקות סינתטיות
- עיון בתוצאות של מעקב סינתטי