כשמסוגל להיות בן דוד או מפתח רשת מקצועי, עליך לבדוק את היישומים שלך לגבי באגים וביצועים בכל המדפים הנגישים ובמערכות ההפעלה. אך עם כל התלויות הרבות בידיך, שלא רק במדפים שונים, אלא גם בגרסאות שונות, זה בהחלט משימה כבדה.
חשוב מאוד, כל התהליכים האלה חייבים להיות אוטומציונים למיטב האפשר, מפני שבחברות גדולות, יצירת מקטעי בדיקה בודדים וערוצים יהיה יקר מדי והשיטה הכי מובנית, הפחות מועדיפה. עכשיו זה המקום בו Selenium Grid, הכלי האוטומציוני המשמש בקנה מידה של שרת מגיע לתמונה.
מה הוא Selenium Grid?
Selenium Grid הוא כלי שמשמש לבדיקות מקורציות וממונעות בין מספר מדפים וסביבות. הוא מאפשר לך להריץ בדיקות באופן מקורצי על מכונות שונות מול מספר מדפים וסביבות שונות. מטרת Selenium Grid היא להתפלג את עומס הביצועים המקורצים על מספר מכונות, על מנת להאיץ את הביצועים של מספר גדול של בדיקות.
הארכיטקטורה של Selenium Grid מעורבת בעיקר בסיס והמכונות הרבות. הסיס משיחה כנקודת מרכז בה צריך לשלוח בקשות בדיקה. המכונות הן המכונות (פיסיות או מקוונות) בהם הבדיקות נבצעות. הסיס מעביר בקשות הביצועים למכונות הנכונות בהתאם להגדרות הבדיקה הספציפיות למדף
סליוניום גריד תומך בתצפיות מאורגנות בעלות הגדלה והתפקוד מרובע, כולל ביצועים מקבילים ובדיקות ביכולת הדפדפן בסימולציה. הוא נעשה באופן נפוץ בשימוש ב בדיקות אוטומטיות כדי לוודא קומפATיביות ופונקציות בין דפדפנים שונים ופלטפורמות.
מדוע צריך סליוניום גריד?
אתה אולי מאוד מתעניין בהבנה מדוע אנחנו צריכים את זה בכלל. בסקופ ספציפי, זה חלק מסדר סליוניום, שכולל גם תוכנות אחרות ותכונות כמו Selenium WebDriver וSelenium IDE וראינו איך הם תומכים בדפדפנים כמו Chrome, Microsoft Edge, Opera, Safari, וכל גיוני הגרסאות שלהם ביחד. בנוסף לזה, הם יכולים גם להריץ את הדפדפנים האלה על מערכות הפעלה מרובות, יוצרים סביבה בדיקות סוף-לסוף. בהעדר פתרון פתוח, הוא גם זמין בחינם ומקבל עדכונים מהרים ופיתוח עם נגישות מושלמת לכל המידע.
הארכיטקטורה של סליוניום גריד
בואו נבין את הארכיטקטורה של סליוניום גריד. סליוניום גריד פועל במודל של הבעל ונוד, בו הבעל מחובר לנודים רבים ויכול להתפקד על מכונות שונות, דפדפנים שונים וגרסאות שונות של הדפדפנים האלה.
האב פועל כנקודה מרכזית ברשת Selenium, שמתקשרת בין הגישות לבניינים. היא גם מקבלת בקשות בדיקה מהלקוח ומעבירה אותן לבניינים הנדרשים. האב מושד על מכונה יחידה עם מערכת ההפעלה מסויימת ודפדפן עם באפשרויות הבדיקה המלאות והגרסאות שלהם, וגם עם היכולת להגדיר אותו על מכונות רבות שמפעילות מערכת ההפעלה התאמה.
Selenium גם הגדיר את הרכיבים האחרים בארכיטקטורה הזו, שהם מסברים בפירוט באתר האינטרנט שלהם, שיכולים להיות שימושיים לריצוף Selenium במצב המפותח המוניטין עם מנועים, השיחות, ומפעילים בהגדרה טובה. עכשיו שיש לנו מספיק ידע ברשת SeleniumGrid,
Selenium Grid ניתן להתקין ולהשתמש ב-4 צעדים קלים
שלב 1
בשלב 1, בואו נוכל במהירות להגדיר את הקדם הנחוצים.
ראשית, עלינו לוודא שאנחנו מפעילים הגירסה האחרונה של Java, או Java 11 ומעלה. היא יכולה להורידться מהאתר הרשמי.
אחר כך, נצטרך להתקנת כל הדפדפנים הנדרשים שאנחנו רוצים לבדוק עליהם. אנחנו נהשיג דפדף לדופדף של הדפדף Chrome בגרסה 123 על מנת גישה לדפדף Chrome. בנוסף, שמורות במחשב שגרה שהגרסאות של הדפדף והדפדף צריכות להיות אותו הגירסה כדי להפעיל את השרתים Selenium. ולבסוף,
עבור הדרישה האחרונה המקרית, נזדקק לה下载 של השרת Selenium Grid העדכנימהאתר הרשמי של Selenium.
שלב 2
עכשיו בואו נתחיל בשלב 2. בשלב 2 שלי, יצרתי תיק חדש והדבקתי את שרת הSelenium ואת נושא הנהג Chrome שאני אשתמש בו לדיון הזה.
package Selenium_test1 ;
import java.net.MalformedURLException;
public class test1{
String hubUrl ="https://10.20.31.20";
String url ="https://www.world.co/search";
WebDriver driver;
public void setupGrid()
{
DesiredCapabilities ds= new DesiredCapabilities();
ds.setCapability("browserName", "Chrome");
try{
driver = new RemoteWebDriver( new URL(hubUrl),ds);
} catch (malformedURLException e){
e.printSTackTrace();
}
driver.get(url);
}
public void pageTitleValidation(){
String title = driver.getTitle();
System.out.println("page title :" +title);
}
public static void main(String[] args)
{
test1 obj = new test1();
obj.setupGrid();
obj.pageTitleValidation();
}
}
שלב 3
עכשיו בשלב 3, פתחתי את המערכת ההוצאה לשימוש Eclipse שלי ובעזרת WebDriver, כתבתי את המקטע הבדיקה שלי. אנחנו נבחן פרוייקט Maven חדש מאחרים. בנוסף לכך, עלינו להדביק את נושא הנהג Chrome שישתמש בתוך תיקייה מסויימת כאן. הגרסה של שרת הSelenium שמשתמשים צריכה להוצבת למסלול של הפרוייקט על ידי השלבים שאני אעבור עכשיו. אני יכול לעבור לשם שם הפרוייקט שלי, להניח מימין ולעבור לשלבי הבניין. מפה, אני יכול לעבור לערוך את הבניין המילולי, ומימין אני אראה את האפשרות הזו שנקראת הוסף עיצוב חיצון. מכאן אני יכול להוסיף את שרת הSelenium שאני משתמש בו.
לחצון יישם וסגור, ואחר כך, בואו נעבור לשלב 4.
שלב 4
עכשיו בשלב 4, חזרתי לתיק שלי שעשיתי בשלב 2. כאן, אני יהיה משתמש במסך הבקר הפקיצי.
זה גורם למציאות למצוא את התיקייה בקלות וזה תהליך פשוט. בגלל שזה רק אחת המכונות ואחת הדפדפנים, אני
מתחיל השרת. הוא מוסיף את התלות הדרושה אחת אחרי השניה והתהליך נגמר. הוא נתן לנו כתובת ספציפית ללכת אליה. עכשיו אני אעתיק את הכתובת הזו ואחזור לשלב 3. כאן, בכתובת ההוב, אשתמש בכתובת הזו, ולאחר שהקוד שלי יהיה מוגמר, אני אלך לקובץ ואריץ את זה כיישום.
אוקיי, אז עכשיו שאני רואה שהיישום רץ, אני אעבור לדפדפן הצ'רום שלי, ואשתמש בכתובת שנתתי לי על ידי הפקודה המיידית. זו הכתובת של הסלניום שלי ואני רואה שהפעלות רצות. בסקירה, אני יכול לראות שסטריוטיפים מלאים עבור צ'רום נוצרו. ובפעלות, המבחן המקובל שלי פעיל. גם ניתן לראות את הדף האינטרנטי.
תפקידי הגריד
הגריד מורכב משישה רכיבים שונים שמעניקים גמישות להרצה של אוטומציה הבדיקה שלך בדרכים מרובות. ניתן להתחיל אותם באופן עצמאי וגם לקבץ אותם כהוב או להריץ אותם על מכונה אחת.
1. עצמאי
על ידי שילוב כל הרכיבים של הגריד באופן שקף, עצמאי
פועל כיחידה מאוחדת. על ידי התחלת מצב עצמאי
אתה מפריע בקלות גריד מלאה הפעלה עם פקודה אחת, כולם בתהליך אחד. חשוב לשים לב שעצמאי
מוגבל לריצה על מכונה אחת.
java -jar selenium-server-<version>.jar standalone
2. הוב ונוד
הוב ונוד הם הרכיבים הפופולריים והשמישים הרבים
המרכז
מורכב ממנוע מיקום
, מפעיל ההתפלגות
, רשת אירועים
, ותורת ההפעלה
:
java -jar selenium-server-<version>.jar hub
נוד
מזהה דרכים מספקות מספרים מהמסלול המקומי.
java -jar selenium-server-<version>.jar node
סיכם
בסוף, כדי לסכם, Selenium Grid מאפשר את הביצוע המקבילי של בדיקות רבות מעל מספר דפדפנים ופלטפורמות בעזרת המבנה hub-node. המרכז משמש כמאגר מרכזי לשמירה על הבדיקות, בעוד הנודים פועלים כאובייקטים Selenium, שמבצעים את הבדיקות בהוראת המרכז. התקנת Selenium Grid מורכבת מה下载 של קבצים jar של שרת Selenium, אותו קבץ שמשמש לבצע בדיקות Selenium RC. כדי לבדוק אם המרכז פעולה או לא, ניתן לעשות את זה דרך המסרים או דרך דפדפן הרשת. כדי לבצע ביצוע של תוכניות בדיקה על הרשת, נדרשת להשתמש בעצמים DesiredCapabilities
וRemoteWebDriver
. DesiredCapabilities
מתכנן את סוג הדפדף והמערכת העיצובית עבור האוטומציה, בעוד RemoteWebDriver
מזהה את הנוד או המכונה לביצוע את הבדיקות שלנו.