nodeJSMochaChai1

סלניום עם ג’אווה סקריפט – חלק א

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

אם עד עכשיו הצגתי עבודה מול סביבות פיתוח וטכנולוגיות מובילות לאוטומציה, כעת אראה כיצד ניתן לכתוב את הטסט הראשון שלנו עם הסלניום Webdriver אשר מתממשק למנוע ה-Node.js שבפועל מריץ את קוד ה-Java Script , מי שיזין למנוע זה את נתונים (הבדיקות שלנו) יהיה זה ה-Mocha , נעשה גם שימוש בספריית Chai לעבודה עם Assertions מתקדמים. ועל כל הבלגאן נשלוט דרך ה-Visual Studio.

מסובך ? עכשיו כנראה שכן. אבל ההמשך נראה מבטיח. בואו נראה איך מבצעים זאת.

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

 

myLogoPublish_SeleniumJS

 

רגע לפני שלבי ההתקנה, בואו נבין על רגל אחת מול מה אנו מתמודדים. Node.js היא סביבת הרצה הכתובה כפרוייקט Open Source בשפת java script , היא משתמשת במנוע ההרצה V8 של גוגל כרום להריץ את הקוד. בפרוייקט הבדיקות שלנו, זה יהיה גם מנוע ההרצה של קוד ה-JS שלנו, ובעזרת הפיצ’ר שלה – npm נוכל גם להתקין תוספים אחרים. ה-Mocha הינו Framework של java script היושב מעל ה-Node.js , תפקידו הוא להגדיר ולתאר את הטסטים והסטים שלנו. Chai הינה ספריה ב-java script והיא באה לעזור לנו בנושאי ה-exceptions בכלל וה-assretions בפרט, ושלא תבינו לא נכון, גם ל-Mocha יש assertions , אך אלו הבאים עם Chai נוחים יותר, ברורים יותר ובעלי יכולות מתקדמות לוולידציות מורכבות מעל סביבת ה-java script.

 

שלב 1: נוריד ונתקין את Node.js מהאתר הרשמי שלהם:

Selenium_NodeJS1

Selenium_NodeJS2

 

שלב 2: נוריד ונתקין את Node.js Tools for Visual Studio מהאתר הבא.

Selenium_NodeJS3

 

שלב 3: נפתח את ה-Visual Studio וניצור פרוייקט חדש תחת ה-Templates: JavaScript -> Node.js , נבחר את האופציה: Blank Node.js Console Application:

Selenium_NodeJS4

 


 

myadvMobile

 


 

שלב 4: בפרוייקט החדש שלנו, נתקין את ה- npm Package כך:

Selenium_NodeJS5

ההתקנה אמורה לקחת כמה דקות טובות, במהלכה תראו את המסך הבא:

Selenium_NodeJS6

ובסיום אתם אמורים לראות את המסך הבא:

Selenium_NodeJS7

 

שלב 5: התקנת ה-API של ה-Webdriver , נכניס לשורת החיפוש: selenium-webdriver , נוודא כי Dependency type=Standard ונקיש על: Install Package:

Selenium_NodeJS8

* ה-Dependency type מגדיר לנו את סוג הכלי שאותו אנו מתקינים, עם זו ספרייה (בה אנו נשתמש בקוד) הערך יהיה Standard ואם יהיה זה חלק תשתיתי (כמו framework) הערך שנכניס לו יהיה Development

 

שלב 6: התקנת Mocha , נכניס לשורת החיפוש: mocha , נוודא כי Dependency type=Development ונקיש על: Install Package:

Selenium_NodeJS9

 

שלב 7: התקנת Chai , נכניס לשורת החיפוש: chai , נוודא כי Dependency type=Standard ונקיש על: Install Package:

Selenium_NodeJS10

 

כעת הפרוייקט שלנו אמור להיראות כך:

Selenium_NodeJS12

 

שלב 8: נוסיף לפרוייקט שלנו קובץ Node.js חדש, בו אנו נכתוב את הקוד בדיקות .

Selenium_NodeJS13

 

ניתן לראות כי קובץ כברירת המחדל נפתח עם 2 בדיקות פשוטות , בדיקות דוגמא, האחת אמורה לעבור, השנייה להיכשל

מה ראינו פה ?

שתי בדיקות כאמור, אשר יושבות תחת סוויטת בדיקות (סוויטה = סט = אוסף) , לטסט הראשון הכנסנו בדיקת וולידציה – assertion עם ערך בוליאני true (שזה אומר שתמיד הבדיקה תעבור) והודעה למשתמש, ואילו בבדיקה השנייה הכנסנו 2 בדיקות וולידציות, האחת בודקת האם 1 ממש שווה ל-1 ולשנייה הכנסנו את הערך הבוליאני false , כך שתמיד היא תיפול וכמובן הודעה תיזרק בהתאם (This should fail).

 

כאשר נריץ את הבדיקות נקבל את התוצאה הבאה:

Selenium_NodeJS14

Selenium_NodeJS15

 

בפוסט הבא נלמד כיצד לכתוב בדיקות סלניום-ג’אווה סקריפט בעולם האמיתי בסביבה זו, נלמד איך הסוויטה בנויה (רמז, כבר ראינו בדוגמא הנ”ל), נשתמש בפעולות של זיהוי אלמנטים והפעלת מתודות עליהם, נראה כיצד עובדים עם ספריית ה-Chai שכבר דאגנו להתקין בחלק הזה ועוד כמה הפתעות.

 

arrowPostFor

כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

היי, אני לא רובוט *

תגי HTML מותרים: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">