Python 斷言的使用方法
自動化測試常用斷言的使用方法(python)
自動化測試中尋找元素並進行操作,如果在元素好找的情況下,相信大家都可以較熟練地編寫用例指令碼了,但光進行操作可能還不夠,有時候也需要對預期結果進行判斷。
這裡介紹幾個常用斷言的使用方法,可以一定程度上幫助大家對預期結果進行判斷。
這裡介紹以下幾個斷言方法:
assertEqual
assertNotEqual
assertTrue
assertFalse
assertIsNone
assertIsNotNone
(一)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反著用就可以了。