python常用的断言方式有哪些

Python018

python常用的断言方式有哪些,第1张

(一)assertEqual 和 assertNotEqual

assertEqual:如两个值相等,则pass

assertNotEqual:如两个值不相等,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.support.v7.app.ActionBar.e[2]").click()#切到超模25tab

sleep(3)

self.assertEqual(self.driver.find_element_by_id('com.boohee.secret:id/tv_title').text,u'超模25','切到超模25tab失败')

(1)这边是通过id(com.boohee.secret:id/tv_title)获取它的text值,与预期“超模25”对比,如相等则pass;不相等则fail。

(2)后面的“切到超模25tab失败”是fail时需要打印的信息,可写可不写。

断言assertNotEqual反着用就可以了。

(二)assertTrue和assertFalse

assertTrue:判断bool值为True,则pass

assertFalse:判断bool值为False,则Pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名

sleep(2)

self.assertTrue(self.find_element_by_id('com.boohee.secret:id/btn_login').is_enabled(),'未输密码登录按钮为不可点状态,Fail')

(1)这边是通过id(com.boohee.secret:id/btn_login)获取它的激活状态,如为True则pass;反之则fail。

(2)后面的“未输密码登录按钮为不可点状态”是fail时需要打印的信息,可写可不写。

断言assertFalse反着用就可以了。

(三)assertIsNone和assertIsNotNone

assertIsNone:不存在,则pass

assertIsNotNone:存在,则pass

下面看下具体使用方法

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#点击登录入口

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#输入用户名

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[2]/android.widget.EditText[1]").send_keys("boohee")#输入密码

sleep(2)

self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.Button[1]").click()#点击登录按钮

sleep(10)

self.assertIsNotNone(self.driver.find_element_by_id('com.boohee.secret:id/tv_edit_profile'),'无编辑资料按钮,登录失败,Fail')

(1)这边是通过寻找id(com.boohee.secret:id/tv_edit_profile)的元素是否存在,如存在则pass;不存在则fail。

(2)后面的“无编辑资料按钮,登录失败,Fail”是fail时需要打印的信息,可写可不写。

断言assertIsNone反着用就可以了。

assertIsNotNone(testValue, message)

定义: 单元测试库函数,用于单元测试中以检查输入值是否为None。

输入值:

  testValue:变量,需要测试的变量。

  message:字符串,测试消息失败时显示的消息。

返回值: 根据断言条件返回布尔值,如果输入值满足assertIsNotNone()将返回true,否则返回false。

函数名:

1. 判断是否相等

  assertEqual

  assertNotEqual

2. 判断真假

  assertTrue

  assertFalse

3. 判断是否为空

  assertIsNone

  assertIsNotNone

返回值: 满足断言,返回True;不满足断言,返回False。

assset 的主要用法

self.assertEqual(a,b,msg=msg)   #判断a与1.b是否一致,msg类似备注,可以为空

self.assertNotEqual(a,b,msg=msg)  #判断a与b是否不一致

self.assertTrue(a,msg=none)    #判断a是否为True

self.assertFalse(b,msg=none)   #判断b是否为false

self.assertIn(a,b) 判断a in b是否成立,正确则True,否则为False

self.assertNotIn(a,b) 判断a in b是否成立,不成立则True 否则 False

self.assertIs(a,b) 判断a 与b的对象是否相同,成立则True,否则False

self.assertIsNot(a,b) 判断a 与b的对象是否相同,不成立True,否则False

self.assertDictEqual(a,b) #判断字典a和字典b是否相等,a,b为字典

self.assertDictContainsSubset

self.assertItemsEqual(a,b) #比较两字符串是否一致,同sorted(a)==sorted(b)

self.assertMultiLineEqual(a,b) #比较a文本与b文本是否一致,即便多了个换行,也会区分

self.assertLess(a,b) #判断a<b 成立则通过,否则失败

self.assertLessEqual  #判断a<=b 成立则通过,否则失败

self.assertGreater  #判断a>b 成立则通过,否则失败

self.assertGreaterEqual  #判断a>=b 成立则通过,否则失败

self.assertIsNone(obj=””) #判断obj=None 成立则通过,否则失败

self.assertIsNotNone #判断obj=None 成立则失败,否则通过

self.assertIsInstance(a,b) #判断a的数据类型是否为b,isinstance(a,b) 成立则通过,否则失败

self.assertNotIsInstance  #判断同上相反

self.assertRegexpMatches(a,b) #正则匹配 同re.search(b,a)匹配有则成功,否则失败,其中a为匹配的正则表达式,必须字符型,b 为要匹配的内容

self.assertNotRegexpMatches #同上,判断相反