Python 中 Selenium 的斷言是什麼?
Selenium 中有斷言,它們是測試用例的驗證或檢查點。如果沒有斷言,就沒有辦法確定測試用例是否失敗。
有時,我們可能會使用 if-else 等條件語句,然後在控制檯中列印透過/失敗的結果。但這隻能解決檢查日誌的問題,而不能解決實際報告的問題。
因此,斷言用於生成測試執行報告。如果我們的測試用例通過了所有測試步驟,則斷言不會以任何方式影響測試用例,但是如果測試用例失敗,則會報告。
一個測試用例可以包含多種斷言方法。其中一些可以接受所有資料型別的值,而另一些則只接受數值。下面列出了不同型別的斷言:
assertEqual – 此斷言有兩個引數。對第一個和第二個引數進行比較。如果兩者匹配,則測試用例被視為透過;否則測試用例失敗。
assertEqual 的第三個引數是可選的。它主要用於結果分析的資訊目的。
語法
assertEqual("Tutorialspoint", "Tutorialspoint")
assertNotEqual – 此斷言可以有多於兩個引數。對第一個和第二個引數進行比較。如果兩者不匹配,則測試用例被視為透過;否則測試用例失敗。
assertEqual 的第三個引數是可選的。它主要用於結果分析的資訊目的。
語法
assertNotEqual("Tutorials", "Tutorialspoint")
assertTrue – 此斷言可以處理多個引數。對第一個和第二個引數進行比較。如果兩者匹配,則測試用例被視為透過;否則測試用例失敗。
assertTrue 斷言允許使用關係運算符進行比較。在這些情況下,結果為布林值(True 或 False)。此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
語法
assertTrue((hd="Tutorialspoint") OR (hd="Selenium"),"Matching header")
assertFalse – 此斷言可以處理多個引數。對第一個和第二個引數進行比較。如果兩者不匹配,則測試用例被視為透過;否則測試用例失敗。
assertTrue 斷言允許使用關係運算符進行比較。在這些情況下,結果為布林值(True 或 False)。此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
語法
assertFalse(2>3,"2 is not greater than 3")
assertIs – 此斷言可以處理兩個引數。對第一個和第二個引數進行比較。如果兩者匹配,則測試用例被視為透過;否則測試用例失敗。
assertEqual 的第三個引數是可選的。它主要用於結果分析的資訊目的。
語法
assertIs(Tutorialspoint", "Tutorialspoint", "Both are equal")
assertIsNot – 此斷言可以處理兩個引數。對第一個和第二個引數進行比較。如果兩者不匹配,則測試用例被視為透過;否則測試用例失敗。此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
語法
assertIsNot(Tutorialspoint", "Tutorials", "Both are not equal")
assertIsNone – 此斷言可以處理一個引數。它用於檢查提供的 value 是否為 None。如果結果等於 None,則測試用例被視為透過;否則測試用例失敗。
此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
語法
assertIsNone( result, "The result is equal to none")
assertIsNotNone – 此斷言可以處理一個引數。它用於檢查提供的 value 是否為 None。如果結果不等於 None,則測試用例被視為透過;否則測試用例失敗。
此斷言的最後一個引數可以包含用於結果分析的資訊訊息。
語法
assertIsNotNone( r, "The result is not equal to none")
assertIn – 此斷言有兩個引數。它用於檢查第一個引數是否存在於第二個引數中。如果專案存在於第二個元素中,則測試用例被視為透過;否則測試用例失敗。assertIs 的第三個引數是可選的。它主要用於結果分析的資訊目的。
這種型別的斷言主要用於集合、列表、元組和字典。
語法
s = set(["PLSQL", "Selenium", "Jmeter"]) assertIn("Selenium", s, " Selenium is present in set s")
assertNotIn – 此斷言有兩個引數。它用於檢查第一個引數是否存在於第二個引數中。如果專案不存在於第二個元素中,則測試用例被視為透過;否則測試用例失敗。
assertIs 的第三個引數是可選的。它主要用於結果分析的資訊目的。
這種型別的斷言主要用於集合、列表、元組和字典。
語法
s = set(["PLSQL", "Selenium", "Jmeter"]) assertIn("Oracle", s, " Oracle is not present in set s")
assertIsInstance – 此斷言有兩個引數。它用於檢查給定的物件(在第一個引數中)是否是類(在第二個引數中)的例項。如果是,則測試用例被視為透過;否則測試用例失敗。
assertIs 的第三個引數是可選的。它主要用於結果分析的資訊目的。
語法
Cl1 c = new Cl1() assertIsInstance(c, Cl1, " c is an instance of Cl1")
assertIsNotInstance – 此斷言有兩個引數。它用於檢查給定的物件(在第一個引數中)是否不是類(在第二個引數中)的例項。如果不是,則測試用例被視為透過;否則測試用例失敗。
assertIs 的第三個引數是可選的。它主要用於結果分析的資訊目的。
語法
Cl1 c = new Cl1() assertIsInstance(d, Cl1, " d is not an instance of Cl1")
assertListEqual – 此斷言有兩個引數。它用於檢查引數中提到的兩個列表是否相似。如果存在任何缺失或不相似元素,則會將其列印為錯誤訊息。
assertTupleEqual – 此斷言有兩個引數。它用於檢查引數中提到的兩個元組是否相似。如果存在任何缺失或不相似元素,則會將其列印為錯誤訊息。
assertSetEqual – 此斷言有兩個引數。它用於檢查引數中提到的兩個集合是否相似。如果存在任何缺失或不相似元素,則會將其列印為錯誤訊息。
assertDictEqual – 此斷言有兩個引數。它用於檢查引數中提到的兩個字典是否相似。如果存在任何缺失或不相似元素,則會將其列印為錯誤訊息。