Python selenium實現斷言3種方法解析
1.if ...else ...判斷進行斷言
from time import *from selenium import webdriverdef login(user='admin',pwd='123456'): driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get('http://192.168.1.110:8080/cms') driver.maximize_window() sleep(1) driver.find_element_by_id('userAccount').send_keys(user) sleep(1) driver.find_element_by_id('loginPwd').send_keys(pwd) sleep(1) driver.find_element_by_id('loginBtn').click() #登錄 sleep(1) users = driver.find_element_by_class_name('c-white').text #獲取用戶名 sleep(1) driver.quit() if users[6:] == user: pass else: raise AssertionErrorif __name__ == ’__main__’: login()
from time import *from selenium import webdriverdef login(user='admin',pwd='123456'): driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get('http://192.168.1.110:8080/cms') driver.maximize_window() sleep(1) driver.find_element_by_id('userAccount').send_keys(user) sleep(1) driver.find_element_by_id('loginPwd').send_keys(pwd) sleep(1) driver.find_element_by_id('loginBtn').click() #登錄 sleep(1) users = driver.find_element_by_class_name('c-white').text #獲取用戶名 sleep(1) driver.quit() if users[6:7] == user: pass else: assert Falseif __name__ == ’__main__’: login()
2.try ... except ...斷言
from time import *from selenium import webdriverdef fatie(title,body): dr = login() sleep(2) dr.find_element_by_partial_link_text('版塊').click() sleep(1) dr.find_element_by_id('subject').send_keys(title) sleep(1) dr.find_element_by_id('fastpostmessage').send_keys(body) sleep(2) dr.find_element_by_name('topicsubmit').click() sleep(2) try: dr.find_element_by_id('thread_subject') except: raise AssertionError else: pass sleep(3) dr.quit()
3.assert斷言(基于unittest)
assertIn(arg1, arg2, msg=None) 驗證 arg1 是 arg2 的子串,不是則 fail assertNotIn(arg1, arg2, msg=None) 驗證 arg1 不是 arg2 的子串,是則 fail assertEqual(arg1, arg2, msg=None) 驗證 arg1=arg2,不等則 fail assertNotEqual(arg1, arg2, msg=None) 驗證 arg1 != arg2, 相等則 failimport timeimport unittestclass Test(unittest.TestCase): def test01(self): self.assertEqual(2,2,msg='test01 error!') def test02(self): self.assertNotEqual(1,2,msg='test02 error!') def test03(self): self.assertIn('fang','xinfangshuo',msg='test03 error!') def test04(self): self.assertNotIn('xing','xinfangshuo',msg='test04 error!') def tearDown(self): time.sleep(1)if __name__ == ’__main__’: unittest.main()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: