כלים של Chrome לבדיקות אוטומטיות ללא הפרעות

חשוב לבצע בדיקות. זהו שלב חשוב לפני שאתם מספקים למשתמשים את מה שיצרתם – לא משנה אם זה אתר שלם או אפליקציה חדשה או תכונה חדשה – כדי לוודא שהוא פועל כצפוי. אבל הרבה בדיקות עדיין מתבצעות באופן ידני, ועמיתים או מהנדסי בדיקה ביקשו לבדוק את התכונה החדשה ולדווח על בעיות.

Matthias Rohmer
Matthias Rohmer

בבדיקה הידנית הזאת יכולים להופיע סוגים מסוימים של בעיות, אבל יכול להיות שלא יהיו הרבה בעיות אחרות. האנשים שמבצעים את הבדיקה עלולים להחמיץ מקרים קצה, או להיכשל לגמרי בבדיקת מסלול מסוים באפליקציה. כמו כן, אין להם את כל המידע שהיה לכם בכתיבת הקוד, הם לא יודעים על הבעיות הספציפיות שכללתם בקוד כדי למנוע אותן. ובמשך הזמן, ונוסיף תכונות חדשות, האם הם יחזרו לבדוק את כל הדברים שעבדו קודם לכן, כדי לוודא שהשינויים לא שברו אותם?

לכן צוות Chrome מאמין בחשיבות של בדיקות אוטומטיות. בעזרת חבילת בדיקה שבודקת את התכונה שלכם באופן מהימן וחוזר על עצמו, תוכלו להיות בטוחים שכל פרט קטן נבדק, עכשיו וגם לאחר פיתוח עתידי. הידע שלכם כמפתחים של תכונה מצורף במבחן.

עם זאת, אנחנו יודעים שבדיקות אוטומטיות יכולות להיות מאתגרות. לכן צוות Chrome מספק את הכלים וההדרכה הבאים כדי לבצע אותו בצורה חלקה ככל האפשר.

בובה

Puppeteer היא ספריית Node.js. הוא מאפשר להפוך לאוטומטיים את Chrome, את Chromium ואת Firefox באמצעות ממשק API קל לשימוש ברמה גבוהה.

ה-API הזה התבסס במקור על פרוטוקול Chrome DevTools, אבל המטרה היא להפוך את פרוטוקול WebDriver BiDi החדש והמתקדם לבסיס של Puppeteer עד סוף השנה. WebDriver BiDi, שנוצרה במשותף על ידי כל ספקי הדפדפנים המובילים, מפשטת הרבה תרחישים לדוגמה באוטומציה, מאפשרת הרבה תרחישים חדשים ותואם לדפדפנים שונים.

אבל אין צורך להמתין. ה-API של Puppeteer כבר מאפשר הרבה תרחישים לדוגמה באוטומציה, וזה רק ישתפר עם WebDriver BiDi. יש הרבה תכונות כמו אינטראקציות עם דפים, יירוט בקשות וצילומי מסך, החל מבדיקה ועד סריקה ויזואלית ואוטומציה של תהליך. אפשר אפילו להשתמש בו כדי לבדוק את המודלים של ה-AI באינטרנט בענן באמצעות WebGPU ו-WebGL.

ב-Puppeteer משתמשים גם בכלים כמו WebdriverIO, מסגרת מלאה לבדיקת דפדפנים והכלי לניתוח של ארגז החול לפרטיות, כדי לעזור לכם להבין טוב יותר את השימוש בקובצי Cookie ובנתוני המשתמשים באתר.

דפדפן Chrome ללא ממשק גרפי

אם אי פעם הפעלתם אוטומטית את Chrome באמצעות Puppeteer, ייתכן שגיליתם שלא מוצג חלון דפדפן בזמן הבדיקות. כברירת מחדל, Puppeteer מפעיל את Chrome במצב Headless. המשמעות היא שאין חלון דפדפן בפועל בזמן שהפעולות האוטומטיות פועלות.

אבל האם ידעתם שהמצב 'דפדפן ללא GUI' ב-Chrome היה לא רק 'Chrome ללא חלון', אלא גם גרסה של Chrome שמתוחזקת בנפרד לגמרי? במשך זמן רב יצר בלבול וקשה לאתר באגים ובעיות.

החל מגרסה 112 של Chrome, השקנו מצב חדש של Headless, שמבוסס עכשיו על אותו בסיס קוד כמו Chrome הרגיל. התכונה הזו לא רק מפחיתה את הבלבול הקודם, אלא גם יוצרת פונקציונליות שלא הייתה אפשרית בעבר, כמו שימוש בתוספים במהלך האוטומציה.

ב-Puppeteer נעשה שימוש במצב 'דפדפן ללא GUI' כברירת מחדל החל מגרסה 22. אם אתם משתמשים ב-Chrome Headless דרך פתרונות אוטומציה אחרים, תוכלו לאלץ את המצב החדש של Headless באמצעות מתג שורת הפקודה --headless=new.

המצב החדש 'דפדפן ללא GUI' של Chrome חזק יותר, אבל הוא לא קל כמו המצב הקודם של 'דפדפן ללא GUI'. אם יש לכם כמות גדולה של משאבים מוגבלים או שאתם לא צריכים את כל התכונות של Chrome, תוכלו להשתמש במצב הקודם של'דפדפן ללא GUI' בתור chrome-headless-shell.

Chrome for Testing

כשמבצעים את הבדיקה, צריך שליטה מעמיקה על סביבת הבדיקה: מערכת ההפעלה, הדפדפן וגרסת הדפדפן. העדכון האוטומטי של Chrome יכול להיות קשה.

לכן יצרנו את Chrome for Testing – גרסה של Chrome ללא עדכון אוטומטי, שמשוחררת לצד כל גרסה של Chrome לכל מערכת הפעלה גדולה, שאפשר לגשת אליה מארכיון גרסאות. כך תוכלו להריץ את תהליכי האוטומציה מול גרסה ספציפית של Chrome, בלי להתעסק יותר מדי.

ניתן לגשת לקבצים הבינאריים של Chrome for Testing ממרכז הבקרה לזמינות של Chrome for Testing, מ-JSON API או מכלי שורת הפקודה שלPuppeteer.


Puppeteer, המצב המעודכן של Headless ב-Chrome ו-Chrome for Testing הם רק חלק מהעבודה שלנו. הצוות שלנו מבצע כרגע פעולות כדי לאפשר לכם לבצע אוטומציה של הדפדפן ולבצע בדיקות בצורה חלקה ככל האפשר. וכלים קשורים, כמו DevTools Recorder, תומכים ביצירה של בדיקות: מקליטים תהליך של משתמש ב-Chrome ומפעילים אותו מחדש ב-Puppeteer.

מידע על בדיקות ב-web.dev

הכלים המפורטים בפוסט הזה יעזרו לכם לשפר את הבדיקה האוטומטית שלכם. אבל, אם זו הפעם הראשונה שאתם מתחילים, לכן יצרנו קורס חדש עם 10 מודולים – Learn Testing on web.dev. קורס מעמיק זה עוסק במושגים הבסיסיים של בדיקה, איפה ואיך בדיקות פועלות, סוגי בדיקות ומה צריך לבדוק בפועל. זאת נקודת התחלה נהדרת לנסיעת מבחן. אחרי שתכירו את הכלים הבסיסיים, תוכלו לעבור לאוסף 'בדיקות אוטומציה', שם תמצאו מגוון רחב של שאלות וטיפים מעשיים לשאלות ספציפיות יותר למבחן.