UI自动化测试的断言方法根据具体测试场景和需求可能会有多种选择,以下是常用的两种断言方法:
1. assertTrue():判断一个表达式结果是否为 True,如果为False,则断言失败;
# 判断某个元素是否存在
self.assertTrue(self.driver.find_element(By.ID, "my-element").is_displayed())
2. assertEqual():判断两个值是否相等,如果不相等,则断言失败。
# 判断两个字符串是否相等
self.assertEqual(self.driver.title, "Expected Title")
这些断言方法基本涵盖了常见的断言场景,你可以根据实际需要灵活地运用它们。需要注意的是,每一种断言方法都需要提供要比较的值和可选的错误消息,来确保测试用例执行过程中出现问题时能提供更详细的信息。
除了 assertTrue()
和 assertEqual()
,还有一些常用的断言方法:
3. assertGreater()
和 assertLess()
:用于比较两个值的大小关系,如果不符合条件,则断言失败。
# 判断列表长度是否大于 0
self.assertGreater(len(my_list), 0)
# 判断某个元素的值是否大于 100
self.assertGreater(self.driver.find_element(By.ID, "my-element").get_attribute("value"), 100)
4. assertIn()
和 assertNotIn()
:用于判断一个值是否在某个集合中,或者不在某个集合中。
# 判断某个子字符串是否在页面标题中
self.assertIn("expected text", self.driver.title)
# 判断某个元素值是否存在列表中
self.assertIn(self.driver.find_element(By.ID, "my-element").get_attribute("value"), my_list)
5. assertRaises()
:用于断言一个方法是否会抛出异常。
# 判断某个方法是否会抛出预期异常
with self.assertRaises(ExpectedException):
my_object.my_method()
这些断言方法可以根据具体测试需求进行选择并组合,来实现更全面、准确的测试覆盖。需要注意的是,在使用这些断言方法时应该仔细阅读官方文档并了解方法的含义和参数,以便更好地应用到测试中。