python selenium 常用断言的使用方法

  1. assertEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,相等则测试用例通过。
  2. assertNotEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,不相等则测试用例通过。
  3. assertTrue(x,[msg='测试失败时打印的信息']): 断言x是否True,是True则测试用例通过。
  4. assertFalse(x,[msg='测试失败时打印的信息']): 断言x是否False,是False则测试用例通过。
  5. assertIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,是则测试用例通过。
  6. assertNotIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,不是则测试用例通过。
  7. assertIsNone(x,[msg='测试失败时打印的信息']): 断言x是否None,是None则测试用例通过。
  8. assertIsNotNone(x,[msg='测试失败时打印的信息']): 断言x是否None,不是None则测试用例通过。
  9. assertIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,在b中则测试用例通过。
  10. assertNotIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,不在b中则测试用例通过。
  11. assertIsInstance(a,b,[msg='测试失败时打印的信息']): 断言a是是b的一个实例,是则测试用例通过。
  12. assertNotIsInstance(a,b,[msg='测试失败时打印的信息']): 断言a是是b的一个实例,不是则测试用例通过。

具体使用如下:

1、assertEqual 和 assertNotEqual 

assertEqual(a, b):如过两个值相等,则pass 

assertNotEqual(a, b):如两个值不相等,则pass 

t = self.driver.find_element_by_xpath('//*[@id="mainmenu"]/ul/li[1]/a/span')
print('登录成功后首页会显示:{}'.format(t.text))
self.assertEqual(t.text, u'我的地盘')

(1)通过xpath('//*[@id="mainmenu"]/ul/li[1]/a/span')获取元素,使用.text获取元素的text值并打印

(2)将text值与预期:u'我的地盘' 对比,如果两个值相等,运行后直接pass没有提示,只会输出打印信息:登录成功后首页会显示:我的地盘;不相等会报错:

AssertionError: '我的地盘' != '他的地盘'

2、assertTrue和assertFalse 

assertTrue:判断x值为True,则pass 

assertFalse:判断x值为False,则Pass 

self.assertTrue(self.driver.find_element_by_id('submit').is_enabled())

(1)这边是通过id(submit)获取元素,使用.is_enabled()判断元素的为激活状态,为True则pass;反之则fail。

断言assertFalse反着用就可以了。

猜你喜欢

转载自blog.csdn.net/showgea/article/details/84571942