הקמת רשת סלניום לבדיקת סלניום מבוזרת



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

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

  1. מדוע ומתי להשתמש בסלניום גריד?
  2. מהו רשת סלניום?
  3. רשת סלניום 1 מול רשת סלניום 2
  4. אדריכלות רשת סלניום
  5. בניית רשת סלניום

מדוע ומתי להשתמש ברשת סלניום?

ישנם כל כך הרבה דפדפני אינטרנט אשר נמצאים בשימוש כיום. משתמשים עשויים להשתמש ב- Chrome או ב- Firefox או ב- Safari או ב- Opera או אפילו ב- Internet Explorer לצורך קריאת הבלוג הזה. ייתכן שהם משתמשים בגירסאות שונות של הדפדפנים. יתכן שהם מריצים דפדפנים אלה בכל מערכת הפעלה, בין אם זה Windows או Mac או אובונטו או כל הפצה אחרת של לינוקס.





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

ובכן, כדאי לך!



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

בנוסף לכך, מתעוררת שאלה נוספת, האם קיימת הקמת תשתית רשת סלניום באמצעות מערכות מקומיות? שמירה על רשת עם כל הדפדפנים והמערכות ההפעלה הנדרשות היא אתגר. לשם כך ישנן מספר פלטפורמות מקוונות המספקות רשת סלניום מקוונת אליה תוכלו לגשת להפעלת סקריפטים אוטומטיים של סלניום. לדוגמה, אתה יכול להשתמש LambdaTest . יש לו יותר מ -2,000 סביבות דפדפן, בהן אתה יכול להריץ את הבדיקות שלך ולבדיקות אוטומטיות בין הדפדפנים.

מהו רשת סלניום?

רשת סלניום היא כלי חשוב נוסף במערך הכלים של סלניום. רשת מסוגלת לתאם בדיקות WebDriver / בדיקות RC שיכולות לפעול בו זמנית בדפדפני אינטרנט מרובים או שניתן להתחיל במערכות הפעלה שונות או אפילו להתארח במכונות שונות.



רשת עבודה - רשת סלניוםאז איך זה מסתדר? רשת מפעילה ארכיטקטורת Hub-Node שבה יש Hub אחד שמשמש כמאסטר וצומת אחד או יותר הפועלים כעבדים.

המשמעות של הדבר היא שאם יש לך בסך הכל 100 עבודות / בדיקות שצריך לבצע, אז ניתן לבצע את הבדיקות בו זמנית ב -5 מכונות, כאשר כל מכונה תריץ 20 בדיקות. למעשה, תוכלו לבצע בדיקות אלו בשילובים שונים של מערכות הפעלה ודפדפנים. כל מכונה כאן יכולה להיות בעלת מערכת הפעלה שונה ובתוך כל מערכת הפעלה, ניתן לבצע את הבדיקות בדפדפנים שונים.

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

qtp לעומת סלניום מה עדיף

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

רשת סלניום 1 מול רשת סלניום 2

ההבדל המהותי בין Grid v1.0 ל- v2.0 הוא ש- RC שימש ב- Grid 1, ו- WebDriver שימש ב- Grid 2. הטבלה שלהלן מסבירה את ההבדלים בפירוט.

רשת 1 רשת 2
דורש התקנת Ant Apache Antאין צורך בהתקנת Apache Ant
יש לו שלט רחוק משלו (זה שונה משרת RC)יחד עם קובץ הצנצנת של שרת סלניום
תומך רק בפקודות Selenium RCתומך בסקריפטים של Selenium RC ו- WebDriver
ניתן לבצע אוטומציה של דפדפן אחד בלבד בכל שלט רחוקניתן לבצע אוטומציה של עד 5 דפדפנים בכל שלט רחוק


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

אדריכלות רשת סלניום

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

הרכזת

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

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

הגדרת התצורה של הרכזת

עליכם קודם כל להוריד את קובץ ה- JAR של שרת סלניום מאתר האינטרנט של סלניום. הקישור הוא כאן . אתה צריך גם לוודא שג'אווה מותקנת במערכת שלך ומשתני הסביבה מוגדרים.

לאחר שהורדתם את קובץ ה- jar, עליכם למקם אותו בספריה מתאימה. לנוחיותי הורדתי אותו והנחתי אותו בתיקיית סלניום בכונן C. מומלץ להוריד גם את קובץ ה- jar ולמקם אותו בספריה דומה בכל שאר הצמתים.

לכוח של ג'אווה

כדי להגדיר את ה- Hub, עליך להפעיל את הפקודה בשורת הפקודה של Windows. הפקודה קיימת בקטע הבא.

C: UsersVardhan> cd .. C: משתמשים> cd .. C:> cd Selenium C: Selenium> java -jar selenium-server-standalone-3.4.0.jar -role hub

ה סלניום-שרת-עצמאי-3.4.0.jar הוא שם קובץ הצנצנת שהורדתי.
ה -תַפְקִיד דגל משמש להגדרת מכונת מארח מסוימת כ- Hub. כאשר תלחץ על Enter, תקבל את הפלט שלהלן על המסך.

במקרה שלא הבחנת בצילום המסך שלמעלה, ראה אותו שוב. זה אומר ' -צמתים צריכים להירשם לכתובת http://192.168.0.11:4444/grid/register '. כעת, לאחר שה- Hub מוגדר, עלינו להגדיר את הצמתים ולחבר אותם לרכזת זו.

192.168.0.11 היא כתובת ה- IP של ה- Hub, וכל צומת צריך להתחבר לכתובת IP זו. 4444 הוא מספר היציאה המוגדר כברירת מחדל שבו מתארח סלניום גריד ומקשיב לבקשות. אם שירות אחר פועל בנמל 4444 ואתה רוצה ש- Selenium Grid יתארח בנמל אחר, תוכל לעשות זאת על ידי ציון -נמל דגל ואחריו מספר הנמל.

הצמתים

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

קביעת תצורה של הצמתים

בדומה ל- Hub, עליך להוריד תחילה את קובץ ה- Jar במכונות הצמת ולמקם אותו בכונן C או בכל ספרייה נפוצה אחרת לנוחיותך. לאחר מכן תוכל להפעיל את הפקודה שלמטה בשורת הפקודה של Windows. אם אתה משגר אפילו את הצומת באותה מכונה כמו ה- Hub שלך, עליך להפעיל את הפקודה על ידי הפעלת שורת פקודה אחרת.

java -Dwebdriver.chrome.driver = E: chromedriver.exe -jar סלניום-שרת עצמאי-3.4.0.jar -role צומת -hub http://192.168.0.11:4444/grid/register

יש רק כמה הבדלים בפקודה זו בהשוואה לפקודה הדרושה להפעלת ה- Hub.
-Dwebdriver.chrome.driver = E: chromedriver.exe משמש להגדרת הנתיב של מנהל ההתקן של הדפדפן. בדומה להגדרת הנתיב של מנהל ההתקן של הדפדפן בקוד ה- WebDriver שלך, אתה מציין אותו כאן כדי לאפשר לצומת לבצע בדיקות. החל מ- Selenium v3 ואילך, עליך להוריד את דפדפן מנהל ההתקן עבור Firefox. מנהל ההתקן של הדפדפן עבור Firefox הוא מנהל התקן של Gecko. עם זאת, בגרסאות 1 ו -2, עליך להגדיר את מנהל ההתקן של הדפדפן לכל הדפדפנים שאינם Firefox.
צומת-רול דגל משמש להגדרת אותה מכונת מארח מסוימת כ- Node.
-hub http://192.168.0.11:4444/grid/register מודיע לצומת להתחבר ל- Hub באמצעות כתובת ה- IP של ה- Hub. נקודה חשובה שיש לשים לב אליה היא שאם אתה מפעיל צומת כלשהו באותה מכונה כמו ה- Hub שלך, תוכל לציין ' -הוב http: // localhost: 4444 / grid / register 'בפקודה במקום כתובת ה- IP של ה- Hub.

כאשר תלחץ על Enter, תקבל את הפלט שלהלן בשורת הפקודה.

עד עכשיו הצומת היה מחובר לרכזת. אתה יכול לאמת זאת על ידי חזרה לשורת הפקודה המשמשת להפעלת הרכזת ותבחין בהודעה הבאה: ' רשם צומת http://192.168.0.11:5555 '.

כתובת ה- IP ומספר היציאה הם של הצומת שלך. מכיוון שיש לי את הצומת שלי באותה מכונה כמו ה- Hub שלי, היציאה המשמשת את הצומת היא 5555. כאשר אתה יוזם אותה במכונה אחרת, ישמש את יציאת ברירת המחדל.

כאשר אתה משיק את כתובת האתר הבאה במחשב ה- Hub שלך, תקבל את הסטטוס של הצמתים המחוברים ל- Hub שלך. ראה את החלק המודגש בצילום המסך למטה.

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

בניית רשת סלניום

הפעלתי את התסריט שלי ב- Eclipse IDE. הביצוע של סקריפט זה מסתמך על שתי חבילות ספרייה חשובות. הם יכולות רצויות חפץ ו RemoteWebDriver לְהִתְנַגֵד.

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

יבוא org.openqa.selenium.remote.DesiredCapabilities

RemoteWebDriver משמש לבחירת הצומת עליו אנו רוצים לבצע את הבדיקה. כדי לייבא אובייקט RemoteWebDriver, השתמש בשורות הקוד שלהלן.

ייבא java.net.MalformedURLException ייבא java.net.URL יבוא org.openqa.selenium.remote.RemoteWebDriver

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

כאשר אתה מתמרן מעל לוגו של כל דפדפן הקיים במסוף Selenium Hub, תקבל את הפרטים כמו דפדפן שם וה פּלַטפוֹרמָה של הצומת שברצונך לבצע אוטומציה. התמונה מציינת גם כמה מקרים של דפדפנים אני יכול לפתוח בצומת שלי. אני יכול להגדיר לכל היותר 5 מופעי כרום, 5 פיירפוקס ו- 1 Internet Explorer. פרטים אלה נמצאים בצילום המסך שלהלן.

אתה יכול להשתמש בקוד בקטע הקוד שלמטה כדי להגדיר את הרשת הראשונה שלך.

חבילה GridTest ייבוא ​​org.testng.annotations.AfterTest ייבוא ​​org.testng.annotations.BeforeTest ייבוא ​​org.testng.annotations.Test יבוא java.net.MalformedURLException יבוא java.net.URL יבוא org.junit.Assert יבוא org.openqa.selenium .Platform ייבוא ​​org.openqa.selenium.WebDriver ייבוא ​​org.openqa.selenium.remote.DesiredCapabilities ייבוא ​​org.openqa.selenium.remote.RemoteWebDriver מחלקה ציבורית TestGrid {סטטי WebDriver הנהג סטטי מחרוזת nodeUrl @BeforeTest הגדרת הריק הציבורי () זורק את הטופס Malformed nodeUrl = 'http://192.168.0.11:5555/wd/hub' יכולות DesiredCapabilities = DesiredCapabilities.chrome () יכולות. setBrowserName ('כרום') יכולות. setPlatform (Platform.WINDOWS) הנהג = RemoteWebDriver חדש (URL חדש (nodeUrl) ), יכולות)} @Test ציבור ריק ריק simpleTest () Edureka ', driver.getTitle ()) @ AfterTest ציבור בטל afterTest () {driver.quit ()}}

חילקתי את כל סקריפט הבדיקה לשלוש הערות בדיקה. @BeforeTest, @Test ו- @ AfterTest. ב- @BeforeTest השתמשתי באובייקטים של DesiredCapablities ו- RemoteWebDriver כדי להגדיר את הצומת שלי. ב- @ Test, ביקשתי מהצומת לנווט לדף הבית של אדוריקה ולהצהיר את כותרת העמוד. ב- @ AfterTest ביקשתי מהצומת לסיים את מופע הדפדפן.

כאשר הבדיקה שלך עוברת את הביצוע, תקבל את הפלט שלהלן.

18 במאי, 2017 15:09:07 org.openqa.selenium.remote.ProtocolHandshake create מידע על מושב: זוהה ניב: OSS עבר: simpleTest ====================== =========================== ברירת מחדל של בדיקות: 1, כישלונות: 0, דילוגים: 0 ========== ====================================================== =================================== חבילת ברירת מחדל סך כל המבחנים: 1, כישלונות: 0, דילוגים: 0 = ==================================================

מכיוון שהדבר מבוצע כמבחן TestNG, תקבל דוח בדיקה מפורט בדומה לצילום המסך שלמטה.

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

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

הדרכת רשת סלניום למתחילים | מדריך סלניום | אדוריקה

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

תפקידים ואחריות של מפתחי Hadoop

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

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך.