קביעה קובעת את מצב הבקשה אם היא זהה למה שאנחנו מצפים או לא. אם הטענה נכשלת, מקרה המבחן נכשל ועוצר את הביצוע.
כדי להשתמש ב-Assertion ב-Web Driver, עליך להוריד את קובץ Testng jar ולהוסיף אותו ל-eclipse. הורד את קובץ Testng jar מהקישור הבא:
https://mvnrepository.com/artifact/org.testng/testng/6.7ישנם שני סוגים של טענה:
מנהל המשימות של לינוקס
- קביעה קשה
- טענה רכה
קביעה קשה
טענה קשה היא טענה שזורקת את AssertException כאשר מקרה המבחן נכשל. במקרה של Hard Assertion, אתה יכול לטפל בשגיאה על ידי שימוש ב-catch block כמו חריג Java. נניח שיש לנו שני מקרי בדיקה בחבילה. במקרה המבחן הראשון בסוויטה יש טענה שנכשלת, ואם אנחנו רוצים להריץ את המקרה השני ב-suit, אז אנחנו צריכים לטפל בשגיאת הטענה. טענה קשה מכילה את השיטות הבאות:
- AssertEquals
- AssertNotEquals
- AssertTrue
- AssertFalse
- AssertNull
- AssertNotNull
AssertFalse()
Assertion מאמת את הערך הבוליאני המוחזר על ידי תנאי. אם הערך הבוליאני הוא שקר, הטענה עוברת את מקרה המבחן, ואם הערך הבוליאני נכון, הטענה מבטלת את מקרה הבדיקה על ידי חריג. תחביר של שיטת AssertFalse() ניתן להלן:
Assert.AssertFalse(condition);
בואו נבין באמצעות דוגמה:
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
בקוד שלמעלה, Assert.assertFalse() מכיל את התנאי שמחזיר ערך שקר. לכן, הוא עובר את מקרה המבחן.
פלט בקונסולה
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(true); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); }}
בקוד שלמעלה, שיטת Assert.assertFalse() מכילה את התנאי האמיתי. לפיכך, הקביעה נכשלת ומשמעותה שגם מקרה המבחן נכשל. כשל בטענה יעצור את הביצוע באופן חריג.
פלט בקונסולה
AssertTrue()
Assertion מאמת את הערך הבוליאני המוחזר על ידי תנאי. אם הערך הבוליאני נכון, אז הטענה עוברת את מקרה המבחן, ואם הערך הבוליאני הוא שקר, אז הטענה מבטלת את מקרה המבחן על ידי חריג. תחביר של שיטת AssertTrue() ניתן להלן:
Assert.AssertTrue(condition);
בואו נבין דרך דוגמה.
במחרוזת ב-java
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); Assert.assertTrue(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
בקוד למעלה, driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); הצהרה זו משמשת לבחירה בתיבה 'אזרח ותיק'. בהצהרה הבאה, אנו מיישמים קביעה כדי לבדוק אם מקרה המבחן נכשל או עובר. הפרמטר בתוך שיטת Assert.assertTrue() מחזיר ערך אמיתי, ולכן מקרה המבחן עבר.
תְפוּקָה
פלט בקונסולה
AssertEquals()
AssertEquals() היא שיטה המשמשת להשוואת התוצאות בפועל והצפויות. אם הן התוצאות בפועל והן הצפויות זהות, הטענה עוברת ללא יוצא מן הכלל ומקרה המבחן מסומן כ'עבר'. אם הן התוצאות בפועל והן הצפויות אינן זהות, הטענה נכשלת עם חריגה ומקרה המבחן מסומן כ'נכשל'. תחביר של שיטת AssertEquals() ניתן להלן:
Assert.assertEquals(actual,expected);
בואו נבין דרך דוגמה.
היגיון העברה לרשום
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertEquals('5Adult',driver.findElement(By.id('divpaxinfo')).getText()); System.out.println(driver.findElement(By.id('divpaxinfo')).getText()); }}
פלט בקונסולה
AssertNotEquals()
זה מנוגד לתפקוד של AssertNotEquals() שיטה. AssertNotEquals() היא שיטה המשמשת להשוואת התוצאות בפועל והצפויות. אם הן התוצאות בפועל והן הצפויות אינן זהות, הטענה עוברת ללא יוצא מן הכלל ומקרה המבחן מסומן כ'עבר'. אם הן התוצאות בפועל והן הצפויות זהות, הטענה נכשלת עם חריגה ומקרה המבחן מסומן כ'נכשל'. תחביר של שיטת AssertNotEquals() ניתן להלן:
AssertNotEquals(actual,expected,message);
בואו נבין דרך דוגמה.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'How are you'); System.out.println('Hello...This is javaTpoint'); } }
בקוד שלמעלה, מחרוזת בפועל, כלומר, Hello אינה שווה למחרוזת הצפויה, כלומר, מה שלומך. לפיכך, הקביעה עומדת במבחן המבחן. זה יבצע את ההצהרה הבאה והמשפט הבא הוא System.out.println('שלום...זה javaTpoint'); .
תְפוּקָה
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'Hello'); System.out.println('Hello...This is javaTpoint'); }}
תְפוּקָה
AssertNull()
AssertNull() היא שיטה המוודאת אם האובייקט הוא null או לא. אם אובייקט הוא ריק, אז הטענה עוברת את מקרה המבחן, ומקרה המבחן מסומן כ'עבר', ואם אובייקט אינו ריק, אז הטענה מבטלת את מקרה המבחן ומקרה המבחן מסומן כ'נכשל'. תחביר של שיטת AssertNull() ניתן להלן:
מהי מפה ג'אווה
Assert.assertNull(object);
בואו נבין דרך דוגמה.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { Assert.assertNull(null); System.out.println('Hello...This is javaTpoint'); }}
תְפוּקָה
תכונות של java
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNull(10); System.out.println('Hello World'); } }
תְפוּקָה
AssertNotNull()
AssertNotNull() היא שיטה המאמתת אם האובייקט הוא null או לא. אם אובייקט אינו ריק, אזי הטענה עוברת את מקרה המבחן ומקרה המבחן מסומן כ'עבר', ואם אובייקט הוא ריק, אז הטענה מבטלת את מקרה המבחן ומקרה המבחן מסומן כ'נכשל'. תחביר של שיטת AssertNotNull() ניתן להלן:
Assert.assertNotNull(object);
בואו נבין דרך דוגמה.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(10); System.out.println('C Language'); }}
תְפוּקָה
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(null); System.out.println('C Language'); } }
תְפוּקָה
SoftAssertion
עד עכשיו, למדנו על הטענה הקשה ב-Web Driver באמצעות Testng framework. בטענה קשה, אם קביעה נכשלת אז היא מבטלת את מקרה המבחן אחרת היא ממשיכה בביצוע. לפעמים אנחנו רוצים לבצע את כל התסריט גם אם הטענה נכשלת. זה לא אפשרי ב-Hard Assertion. כדי להתגבר על בעיה זו, עלינו להשתמש בטענה רכה ב-testng.