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 – 此斷言有兩個引數。它用於檢查引數中提到的兩個字典是否相似。如果存在任何缺失或不相似元素,則會將其列印為錯誤訊息。

更新於: 2020-07-29

7K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告