בבלוג הקודם לימדתי אותך כיצד להריץ את מבחן ה- Selenium WebDriver הראשון שלך. בבלוג זה אעסוק במושגים מתקדמים של סלניום WebDriver. כבר הזכרתי לא מעט פעמים שלסלניום WebDriver יש מגבלות ביחס לניהול מקרה הבדיקה והפקת דוחות הבדיקה. אז מה האלטרנטיבה? כלי פופולרי כמו סלניום בהחלט חייב לפתור פתרון, נכון? כמובן שזה כן! אנו יכולים להשתמש בשילוב של סלניום ו- TestNG כדי לנצח את המגבלה הזו וזה יהיה נושא הדיון בבלוג זה.
כיצד לבדוק מסד נתונים
במקרה שאתה חדש בסלניום ורוצה מבוא למושגים הבסיסיים, אתה יכול להתחיל את המסע שלך מכאן: ? עם זאת, האחרים יכולים להתחיל לעבוד עם TestNG עבור סלניום מהבלוג הזה.כדאי גם לדעת שארגונים צדים באופן פעיל אחר אנשי מקצוע עם , מה שהופך אותו למיומנות חשובה לבודקי תוכנה לשלוט בהם.
מפתחי תוכנה מרחבי העולם יסכימו פה אחד שכתיבת קוד במקרי בדיקה חוסכת חלק ניכר מזמן הבאגים שלהם. למה? הסיבה לכך היא שמקרי בדיקה עוזרים ביצירת קוד חזק ונטול שגיאות. איך זה עושה את זה? על ידי שבירת הקוד כולו למקרי בדיקה קטנים יותר, ואז על ידי הערכת כל אחד ממקרי הבדיקה הללו לתנאי מעבר / כישלון, אנו יכולים ליצור קוד ללא שגיאות. מכיוון שסלניום אינו תומך בביצוע קוד במקרי בדיקה, עלינו להשתמש ב- TestNG עבור אותו הדבר. זה המקום שבו TestNG משתלב במסגרת סלניום.
TestNG מייצג בדוק את הדור הבא וזו מסגרת אוטומציה של קוד פתוח בהשראת JUnit ו- NUnit. ובכן, לא רק בהשראה, אלא בשדרוג לשתי המסגרות הללו. אז אולי תשאלו מה השדרוג כאן?השדרוג עם TestNG הוא בכך שהוא מספק פונקציונליות נוספת כמו: הערות בדיקה, קיבוץ, עדיפות, פרמטריזציה וטכניקות רצף בקוד שלא היה אפשרי קודם לכן.
מלבד ניהול מקרי בדיקה, ניתן להשיג אפילו דיווחים מפורטים על בדיקות באמצעות TestNG. יהיה סיכום המציג את מקרה הבדיקה שנכשל, יחד עם הקבוצה שהיא הייתה חלק ממנה, והכיתה שהיא נופלת תחתיה. כאשר ניתן לאתר באופן מדויק באגים כך, ניתן לתקן אותם מיידית לרווחת מפתחים. התמונה למטה מתארת את העבודה של TestNG.
אז איך TestNG מבצעת את העבודה? על שאלה זו תיענה בהחלק הבא בבלוג הדרכה זה של סלניום WebDriver, בו אדון כיצד לנהל מקרי בדיקה שונים באמצעות TestNG.
סלניום WebDriver עם TestNG
ניתן להגדיר ולנהל מקרי מבחן באחת מהדרכים הבאות:
תן לי להתחיל להסבירכל אחת מהפונקציות הללו.
הערות מבחן
קודם כל, בואו נשאל את עצמנו את השאלה הזו: מדוע עלינו להשתמש בהערות? מתי נוכל להשתמש בהם? הערות בסלניום משמשות לבקרת השיטה הבאה שתבוצע. הערות הבדיקה מוגדרות לפני כל שיטה בקוד הבדיקה. במקרה שכל שיטה לא קודמת להערות, השיטה הזו תתעלם ולא תבוצע כחלק מקוד הבדיקה. כדי להגדיר אותם, צריך לרשום את השיטות פשוט עם ' @מִבְחָן '. בדוק למשל את קטע הקוד.
חבילה testng יבוא org.openqa.selenium.WebDriver ייבוא org.openqa.selenium.firefox.FirefoxDriver ייבוא org.testng.annotations.AfterClass ייבוא org.testng.annotations.AfterMethod ייבוא org.testng.annotations.BeforeClass ייבוא org.testng.annotations .BeforeMethod מייבא org.testng.annotations.Test מחלקה ציבורית TestAnnotations {@Test public בטל myTestMethod () {System.out.println ('שיטה פנימית: - myTestMethod') מנהל ההתקן WebDriver = driver.get חדש של FirefoxDriver () ('http: //www.seleniumframework.com/Practiceform/ ') כותרת מחרוזת = driver.getTitle () System.out.println (title) driver.quit ()} @BeforeMethod ציבור ריק לפני Method () {System.out.println (' זה פיסת קוד מתבצעת לפני השיטה: - myTestMethod ') System.setProperty (' webdriver.gecko.driver ',' C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe ')} @AfterMethod הציבור בטל לאחר Method () {System.out.println (' חתיכה זו קוד מתבצע לאחר שיטה: - myTestMethod ')} @FeforeClass ציבור ריק לפני Class () {Syste m.out.println ('פיסת קוד זו מבוצעת לפני ביצוע המחלקה')} @ AfterClass public void afterClass () {System.out.println ('פיסת קוד זו מבוצעת לאחר ביצוע המחלקה')} }
בקוד שלעיל היית שם לב שלא הגדרתי שיטה 'ראשית'. עם זאת, יש לי 5 שיטות אחרות שהוגדרו. הם 'myTestMethod', 'beforeMethod', 'afterMethod', 'beforeClass' ו- 'afterClass'. כמו כן, שימו לב לסדר הגדרת השיטות בקוד מכיוון שהן לא יבוצעו באותו סדר זה.
השיטה 'myTestMethod' היא ביאור @מִבְחָן , וזו השיטה או פיסת הקוד העיקרית שיש לבצע. שיטות ביאור אחרות יבוצעו לפני ואחרי ביצוע שיטה זו. מאז 'לפני מתודה' הוא ביאור עם @BeforeMethod , זה יבוצע לפני 'myTestMethod' יבוצע. באופן דומה, 'afterMethod' הוא ביאור @ AfterMethod , וכך הוא יבוצע לאחר 'myTestMethod'.
עם זאת, 'לפני Class' הוא ביאור @לפני השיעור , מה שאומר שהוא יבוצע עוד לפני שהמחלקה עצמה תבוצע. שם הכיתה שלנו כאן הערות Test וכך לפני שהשיעור יתחיל להורג, פיסת הקוד בתוך 'beforeClass' תבוצע. באופן דומה, 'afterClass' מסומן עם הערות @ AfterMethod , וכך יבוצע לאחר השיעור הערות Test מוצא להורג.
אם עדיין יש לך בלבול ביחס לסדר הביצוע, החלק הבא שלהלן בהחלט יעזור לך.
1. BeforeSuite 2. BeforeTest 3. BeforeClass 4. BeforeMethod 5. Test 6. AfterMethod 7. AfterClass 8. AfterTest 9. AfterSuite
הפלט של הקוד לעיל יהיה:
פיסת קוד זו מבוצעת לפני ביצוע המחלקה פיסת קוד זו מבוצעת לפני שיטה: - myTestMethod שיטה פנימית: - myTestMethod 1493192682118 geckodriver INFO האזנה בתאריך 127.0.0.1:13676 1493192682713 mozprofile :: profile INFO שימוש בנתיב פרופיל C: UsersVardhanAppDataLocalTemp emp .wGkcwvwXkl2y 1493192682729 geckodriver :: marionette INFO הפעלת דפדפן C: קבצי תוכנה (x86) Mozilla Firefoxirefox.exe 1493192682729 geckodriver :: marionette INFO חיבור למריונטה ב localhost: 59792 [GPU 6152] אזהרה: שגיאת צינור: 109: קובץ: c /moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, שורה 346 1493192688316 מריונטה מידע מקשיב ביציאה 59792 26 באפריל 2017 13:14:49 אורג. openqa.selenium.remote.ProtocolHandshake createSession INFO: זוהה ניב: שגיאת JavaScript W3C: http://t.dtscout.com/i/?l=http%3A%2F%2Fwww.seleniumframework.com%2FPracticeform%2F&j=, קו 1: TypeError: document.getElementsByTagNa me (...) [0] is undefined Selenium Framework | תרגול 1493192695134 מריונטה מידע חיבורים חדשים לא יתקבלו עוד 26 באפריל 2017 13:14:57 org.openqa.selenium.os.UnixProcess להשמיד חמור: לא ניתן להרוג תהליך עם PID 6724 פיסת קוד זו מבוצעת לפי שיטה: - myTestMethod פיסת קוד זו מבוצעת לאחר ביצוע המחלקה PASSED: myTestMethod ======================================= ============ בדיקות ברירת מחדל של בדיקות: 1, כישלונות: 0, דילוגים: 0 =========================== ====================================================== ==================== חבילת ברירת מחדל סך כל הבדיקות שהופעלו: 1, כישלונות: 0, דילוגים: 0 ================ ==================================
כפי שניתן לראות מהפלט שלעיל, מספר הבדיקות שהופעלו הוא 1 ונכשלו הוא 0. המשמעות היא שהקוד מוצלח. אפילו סדר ביצוע השיטות יהיה בסדראניהוזכר קודם לכן.
כשאתה מבצע קוד זה במחשב שלך, Selenium WebDriver יניע את דפדפן Firefox שלך, יעבור לטופס התרגול של Selenium Framework, יסגור את מופע הדפדפן ויציג את אותה פלט כפי שמוצג לעיל ב- Eclipse IDE שלך.
השתמשתי רק בחמש הערות שונות בקוד שלי. אך ישנן הערות רבות נוספות בהן ניתן להשתמש כדי לשלוט בשיטה הבאה שתבוצע. כל רשימת ההערות מוסברת בשולחןלְהַלָן:
@BeforeSuite - השיטה עם הערות עם @BeforeSuite יפעל לפני שכל הבדיקות בסוויטה רצו.
@AfterSuite - השיטה עם הערות עם @AfterSuite יפעל לאחר שכל הבדיקות בסוויטה רצו.
@BeforeTest - השיטה עם הערות עם @BeforeTest יפעל לפני שמופעלת כל שיטת בדיקה השייכת לכיתה.
@ AfterTest - השיטה עם הערות עם @ AfterTest יפעל לאחר שכל שיטות הבדיקה השייכות לכיתה רצו.
@ לפני הקבוצה - השיטה עם הערות עם @ לפני הקבוצה ירוץ לפני שמופעלת כל קבוצה.
@ AfterGroup - השיטה עם הערות עם @ AfterGroup ירוץ אחרי שכל קבוצה מנוהלת.
@לפני השיעור - השיטה עם הערות עם @לפני השיעור יפעל פעם אחת לפני שתופעל שיטת הבדיקה הראשונה בכיתה הנוכחית.
@אחרי השיעור - השיטה עם הערות עם @אחרי השיעור יפעל פעם אחת לאחר שכל שיטות הבדיקה במחלקה הנוכחית רצו.
יישום תור עדיפות ב- Java
@BeforeMethod - השיטה עם הערות עם @BeforeMethod יפעל לפני שמופעלת כל שיטת בדיקה בתוך כיתה.
@ AfterMethod - השיטה עם הערות עם @ AfterMethod יפעל לאחר ביצוע כל שיטת בדיקה בתוך כיתה.
@מִבְחָן - השיטה עם הערות עם @מִבְחָן היא שיטת הבדיקה העיקרית בתוכנית כולה. שיטות ביאור אחרות יבוצעו סביב שיטה זו.
צילום המסך של דוח TestNG הואלהלן: -
עדיפות
דיברנו על כמה שיטות שונות שניתן להגדיר כך שתבוצענה סביב @מִבְחָן שיטה. אבל מה אם יש לך יותר מאחד @מִבְחָן שיטה ואתה רוצה להגדיר את צו הביצוע ביניהם?
במקרה כזה, אנחנו יכוליםפבצע מחדש אותם על ידי הקצאת מספר למקרי המבחן המבוארים. מספר קטן יותר כך העדיפות גבוהה יותר. ניתן להקצות עדיפות כפרמטרים תוך הגדרת מקרי הבדיקה. אך אם לא מוקצבת עדיפות, שיטות הבדיקה המבוארות יבוצעו לפי הסדר האלפביתי של המבחנים. עיין בפרמטרים של הערות הבדיקה בחלק הבא שלקוד.
@Test (Priority = 2) מבט סטטי ציבורי FirstTest () {system.out.println ('זהו מקרה הבדיקה מספר שתיים בגלל עדיפות מס' 2 ')} @Test (Priority = 1) מבט סטטי ציבורי ריק מבט שני () { system.out.println ('זהו מקרה הבדיקה מספר אחד בגלל עדיפות מס' 1 ')} @Test סטטי ציבורי בטל FinalTest () {system.out.println (' זהו מקרה הבדיקה הסופי מכיוון שאין עדיפות ' )}
השבתת מקרי בדיקה
תן לי להראות לך משהו מעניין יותר. מה אם יש לך קוד המשתרע על מיליון שורות, המורכב ממאות מקרי בדיקה, וברצונך להשבית שיטת בדיקה אחת בלבד? במקום זאת אינך צריך למחוק חלק מהקודאנו יכולים פשוט להשבית את שיטת הבדיקה הזו.
פעולת השבתת מקרה הבדיקה נעשית גם באמצעות פרמטרים. אנחנו יכולים להגדיר את מופעלת תכונה ל'שקר '. כברירת מחדל, כל מקרי הבדיקה יופעלו, ולכן איננו צריכים להגדיר אותם בכל פעם שאנחנו כותבים מבחן. בדוק את הפרמטרים של השיטה השלישית והרביעית בחלק הבא שלקוד.
@Test (עדיפות = 2, מופעל = נכון) סטטי ציבורי ריק ריק FirstTest () {system.out.println ('זהו מקרה הבדיקה מספר שניים בגלל עדיפות מספר 2')} @Test (עדיפות = 1, מופעלת = נכון ) מבט סטטי ציבורי SecondTest () {system.out.println ('זהו מקרה הבדיקה מספר אחד בגלל עדיפות מספר 1')} @ Test (מופעל = שקר) ריק סטטי ציבורי SkippedTest () {system.out.println ( 'זהו מקרה הבדיקה שדלג מכיוון שזה הושבת')} @Test (מופעל = נכון) מבט סטטי ציבורי ריק () {system.out.println ('זהו מקרה הבדיקה הסופי, שמופעל ואין לו עדיפות ')}
תלות בשיטה
עכשיו במקרה שיש לך מצב שבו אתה רוצה שחתיכת קוד תבוצע רק אם היא עומדת בתנאי או רק אם שיטה מסוימת מבוצעת בהצלחה, אנו יכולים לעשות זאת באמצעות תלויOnMethod (). זהו בעצם תנאי של תלות בשיטה כאשר שיטה תבוצע בהתאם לשיטה אחרת. אם נקבע בנוסף תמיד הפעל לתכונה נכון, ואז השיטה תבוצע ללא קשר למצב הכישלון / מעבר של השיטה התלויה. עיין בקוד בקטע הקוד שלמטה.
@Test ציבורי סטטי בטל FirstTest () {system.out.println ('זהו מקרה הבדיקה הראשון שמבוצע')} @Test (תלויOnMethods = {'FirstTest'}) מבט סטטי ציבורי בטל SecondTest () {system.out. println ('זהו מקרה הבדיקה השני שמבוצע זוהי שיטה תלויה')} @Test (תלויOnMethods = {'SecondTest'}) ריק סטטי ציבורי FinalTest () {system.out.println ('זה המבחן הסופי מקרה זה יבוצע בכל מקרה. ')}
עכשיו זה לוקח אותנו להיבט חשוב נוסף במבחןביאורים שהם הַקבָּצָה .
הַקבָּצָה
עד עכשיו עליכם לדעת שיהיו מספר שיטות כחלק ממקרה הבדיקה שלנו בקוד. בואו נגיד שיש 100 מקרי מבחן אבל, אנחנו רוצים לבצע רק 20 מקרי מבחן במבחן הבא שלנו. אתה חושב שאנחנו יכולים לעשות את זה? ברור שאנחנו יכולים.
אנחנו יכולים להשתמש קבוצות תכונה למטרה זו. אנו יכולים להקצות שם קבוצה למספר מקרי מבחן ובהמשך לבחור לבצע את הקבוצה במקום כל הקוד. עיין בקטע הקוד שלמטה כדי להביןכיצד ליצור קבוצות.
@Test (groups = {'MyGroup'}) סטטי ציבורי ריק FirstTest () {system.out.println ('זהו חלק מהקבוצה: MyGroup')} @Test (groups = {'MyGroup'}) סטטי ציבורי void SecondTest () {system.out.println ('זה גם חלק מהקבוצה: MyGroup')} @Test סטטי ציבורי בטל ThirdTest () {system.out.println ('אבל, זה לא חלק מה- קבוצה: MyGroup ')}
קביעות TestNG
זה לוקח אותנו עכשיו לנושא הבא ב- TestNG שהוא טענות. כפי שהשם מרמז, ניתן להשתמש בטענות בשיטות בדיקה כדי לקבוע את תנאי ההצלחה / הכישלון של הבדיקה. בהתבסס על המצב האמיתי / השקרי של הצהרה, המבחנים יעברו / נכשלו.
בקוד שלהלן כללתי 3 שיטות בדיקה, בהן לשיטה הראשונה והשלישית תנאי מעבר והשיטה השנייה תהיה במצב כישלון. ראה בעצמך את הקוד.
חבילה testng יבוא org.testng.annotations.Test יבוא org.testng.annotations.BeforeMethod ייבוא org.openqa.selenium.WebDriver יבוא org.openqa.selenium.firefox.FirefoxDriver יבוא org.testng.Assert יבוא org.testng.annotations.AfterMethod טענות מחלקה ציבורית {@BeforeMethod ציבור ריק לפני Method () {System.setProperty ('webdriver.gecko.driver', 'C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe')} בוליאני ציבורי isEqual (int a, int b) {if (a == b) ) {return true} else {return false}} @Test public void testEquality1 () {Assert.assertEquals (true, isEqual (10, 10)) System.out.println ('זה תנאי מעבר')} @ מבחן ציבורי void testEquality2 () {Assert.assertEquals (true, isEqual (10, 11)) System.out.println ('זהו תנאי כישלון')} @Test ציבורי בטל getTitle () {מנהל התקן WebDriver = מנהל התקן חדש של FirefoxDriver (). get ('https://www.gmail.com') כותרת מחרוזת = driver.getTitle () Assert.assertEquals (כותרת, 'Gmail') System.out.println ('זה שוב תנאי מעבר')} }
כאשר אתה מסתכל על הדוח שנוצר לאחר ביצוע זה, תבחין שמתוך שלושת הבדיקות אחד נכשל ושניים עברו. נקודה חשובה נוספת שיש לציין היא שכאשר קביעה נכשלת, דילוגים / פקודות קוד אחרות במבחן זה ידלגו. רק כאשר הקביעה תצליח, שורת הקוד הבאה תבוצע במבחן זה. בדוק את הפלט שמתחת לאן system.out.println ביצע רק עבור השיטה הראשונה והשלישית.
1493277977348 geckodriver הקשבה INFO על 127.0.0.1:47035 1493277977993 mozprofile :: פרופיל INFO באמצעות פרופיל הנתיב C: UsersVardhanAppDataLocalTemp ust_mozprofile.Z7X9uFdKODvi 1493277977994 geckodriver :: מריונטה INFO החל הדפדפן C: Program Files (x86) מוזילה Firefoxirefox.exe 1493277977998 geckodriver :: מריונטה INFO חיבור למריונטה ב- localhost: 50758 [GPU 6920] אזהרה: שגיאת צינור: 109: קובץ c: / builds / moz2_slave / m-rel-w32-00000000000000000000 / build / src / ipc / chromium / src / chrome / common / ipc_channel_win. cc, קו 346 1493277981742 מריונטה מידע מקשיב בנמל 50758 27 באפריל, 2017 12:56:22 אורג '. openqa.selenium.remote.ProtocolHandhake create מידע על מושב: זוהה ניב: W3C זהו שוב תנאי מעבר זהו תנאי מעבר עבר: getTitle עבר: testEquality1 נכשל: testEquality2 java.lang.AssertionError: צפוי [false] אך נמצא [true] ב- org.testng.Assert.fail (Assert.java:93) ב- org.testng.Assert.failNotEquals (Assert.java: 512) ב- org.testng.Assert.assertE qualsImpl (Assert.java:134) at org.testng.Assert.assertEquals (Assert.java:115) at org.testng.Assert.assertEquals (Assert.java:304) at org.testng.Assert.assertEquals (Assert.java : 314) ב- testng.Assertions.testEquality2 (Assertions.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0 (שיטה מקורית) ב- sun.reflect.NativeMethodAccessorImpl.invoke (מקור לא ידוע) ב- sun.reflect.DelegatingMethodAccessorMicrosoft מקור) ב- java.lang.reflect.Method.invoke (מקור לא ידוע) ב- org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java:108) ב- org.testng.internal.Invoker.invokeMethod (Invoker.java:661) באתר org.testng.internal.Invoker.invokeTestMethod (Invoker.java:869) ב- org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1193) ב- org.testng.internal.TestMethodWorker.invokeTestMethods (Test.jethodWor ) ב- org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:109) ב- org.testng.TestRunner.privateRun (TestRunner.java:744) ב- org.testng.TestRu nner.run (TestRunner.java:602) ב- org.testng.SuiteRunner.runTest (SuiteRunner.java:380) ב- org.testng.SuiteRunner.runSequentially (SuiteRunner.java:375) ב- org.testng.SuiteRunner.privateRun (SuiteRunner .java: 340) ב- org.testng.SuiteRunner.run (SuiteRunner.java:289) ב- org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) ב- org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:86) ב- org.testng.TestNG.runSuitesSequentially (TestNG.java:1301) ב- org.testng.TestNG.runSuitesLocally (TestNG.java:1226) ב- org.testng.TestNG.runSuites (TestNG.java:1144) ב- org.testng. TestNG.run (TestNG.java:1115) ב- org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:132) ב- org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java: 230) ב- org.testng.r .RemoteTestNG.main (RemoteTestNG.java:76) ============================================== ========= בדיקות ברירת מחדל בדיקות: 3, כישלונות: 1, דילוגים: 0 =============================== ===================================================== ================= חבילת ברירת מחדל סך כל המבחנים שהופעלו: 3, כישלונות: 1, דילוגים: 0 ====================================== =============
אז זה סוף המושגים הקשורים לניהול מקרה הבדיקה. נשארנו עם נושא אחד נוסף, וזה יצירת דוחות. הפקת דוחות היא הנושא האחרון במדריך זה של סלניום WebDriver מכיוון שניתן ליצור דוחות רק אחרי כלבדיקות מבוצעות.
האידיאה הטובה ביותר לג'אווה לאובונטו
יצירת דוחות
הדבר החשוב ביותר שאתה צריך לציין הוא שהדוח ייווצר רק באמצעות קובץ .xml. פירוש הדבר, בין אם מדובר בשיטה, או שתהיה זה מחלקה, ובין אם זו קבוצה שתרצו לבדוק, יש לציין את כולם בקובץ ה- xml.
אז ראשית תוכל ליצור תיקיה חדשה תחת הפרויקט שלך, וליצור קובץ חדש בתוך אותה תיקייה ולתת שם לקובץ ולשמור אותו עם סיומת .xml. באפשרותך ליצור את התיקיה והקובץ החדשים על ידי לחיצה ימנית על סייר החבילות. לאחר שיצרת את הקובץ, עבור לכרטיסיית המקור בתחתית החלון והזן את התצורות כמפורט בקטע הבא.
השורה הראשונה היא הגדרת סוג מסמך XML. זה סטנדרטי וחובה לכל דוחות הבדיקה. אבל, השורות האחרות די מסבירות את עצמן. השתמשתי בתגיות הפתוחות לסוויטה, מבחן, שיעורים ושיעורים. תג כיתות יכול להכיל כיתה אחת או יותר. לפיכך, ניתן להשתמש בו אם אנו רוצים ליצור דוח בו אנו בודקים מספר מחלקות. זה שימושי במיוחד עבור מפתחים שרוצים לבדוק קטע קוד ארוך.
בכל מקרה לחזור לדוח שלנו, אתה יכול לתת שם לכל סוויטה או מבחן או מחלקה לאחר פתיחת התגים האלה ולזכור לסגור כל תג שתפתח. נתתי את שם הסוויטה שלי בתור TestNGs , שם הבדיקה כ מִבְחָן ביאורים ושם הכיתה כ testng.TestAnnotations. שים לב ששם הכיתה הוא בתבנית ' packagename.classname ' .
כאשר אתה מריץ קובץ זה כחבילת TestNG, הביצוע יתחיל ותקבל את דוחות הבדיקה המפורטים. תקבל את פלט הבדיקה בכרטיסיית המסוף שלך ואת התוצאה של חבילת הבדיקה בכרטיסייה הבאה. הדוח שיצרתי לצורך ביצוע הקוד שלי הואבצילום המסך שלהלן. תוכלו להבחין כי הפעם יש שם חבילת, שם מבחן, שם כיתה יחד עם הזמן שנדרש לביצוע כל אחד מהם.
אם ברצונך להציג את דוח ה- HTML (דוח אינדקס או דוח שניתן לשלוח בדוא'ל), תוכל לעבור אל פלט מבחן בתיקיית הפרויקט בסביבת העבודה שלך. על ידי לחיצה עליהם תוכלו להציג את הדוחות גם בנקודת זמן מאוחרת יותר. להלן צילומי המסך שלהם.
דוח אינדקס : -
דוח שניתן לשלוח בדוא'ל : -
אז זה מביא אותנו לסוף בלוג ההדרכה של סלניום WebDriver. הגיע הזמן שתגדיר את ליקוי החמה בסוף, התקן את חבילות הסלניום השונות, התקן את TestNG ותתחיל לכתוב את תיקי הבדיקה שלך.
אתה יכול לבדוק את סרטון ההדרכה של Selenium WebDriver להלן כדי לחזות בהדגמה של המושגים השונים המוסברים בבלוג זה.
אימון סלניום | מסגרת TestNG לסלניום | אדוריקה
סרטון הדרכת סלניום זה של אדוריקה יעביר אתכם לפרטים המעמיקים של סלניום WebDriver. סרטון הדרכה זה של סלניום הוא אידיאלי למתחילים וגם למקצוענים שרוצים להבריש את היסודות של פקודות WebDriver וללמוד כיצד ניתן להשתמש ב- TestNG עם סלניום לניהול מקרי בדיקה שונים.
אם ברצונך ללמוד סלניום ולבנות קריירה בתחום הבדיקות, בדוק את האינטראקטיבי שלנו, בשידור חי באינטרנט כאן, זה מגיע עם תמיכה 24 * 7 שתנחה אותך לאורך כל תקופת הלמידה שלך.
יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך.