Python selenium實現(xiàn)斷言3種方法解析
1.if ...else ...判斷進(jìn)行斷言
from time import *
from selenium import webdriver
def 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 AssertionError
if __name__ == '__main__':
login()
from time import *
from selenium import webdriver
def 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 False
if __name__ == '__main__':
login()
2.try ... except ...斷言
from time import *
from selenium import webdriver
def 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, 相等則 fail
import time
import unittest
class 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()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Selenium結(jié)合BeautifulSoup4編寫簡單的python爬蟲
- Python使用Selenium模擬瀏覽器自動操作功能
- python selenium xpath定位操作
- Python Selenium自動化獲取頁面信息的方法
- python 讀取yaml文件的兩種方法(在unittest中使用)
- python+appium+yaml移動端自動化測試框架實現(xiàn)詳解
- python Yaml、Json、Dict之間的轉(zhuǎn)化
- Python讀取yaml文件的詳細(xì)教程
- python讀取yaml文件后修改寫入本地實例
- python使用yaml 管理selenium元素的示例
相關(guān)文章
python使用urllib2實現(xiàn)發(fā)送帶cookie的請求
這篇文章主要介紹了python使用urllib2實現(xiàn)發(fā)送帶cookie的請求,涉及Python操作cookie的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
Python中的命名元組簡單而強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)示例詳解
namedtuple是Python中一個非常有用的數(shù)據(jù)結(jié)構(gòu),它提供了一種簡單的方式創(chuàng)建具有固定字段的輕量級對象,通過使用namedtuple,可以提高代碼的可讀性和可維護(hù)性,避免了使用類定義對象的復(fù)雜性,這篇文章主要介紹了Python中的命名元組簡單而強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下2024-05-05
Python通過解析網(wǎng)頁實現(xiàn)看報程序的方法
這篇文章主要介紹了Python通過解析網(wǎng)頁實現(xiàn)看報程序的方法,比較實用的功能,需要的朋友可以參考下2014-08-08
pytorch加載語音類自定義數(shù)據(jù)集的方法教程
這篇文章主要給大家介紹了關(guān)于pytorch加載語音類自定義數(shù)據(jù)集的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python通過TensorFLow進(jìn)行線性模型訓(xùn)練原理與實現(xiàn)方法詳解
這篇文章主要介紹了Python通過TensorFLow進(jìn)行線性模型訓(xùn)練原理與實現(xiàn)方法,結(jié)合實例形式詳細(xì)分析了Python通過TensorFLow進(jìn)行線性模型訓(xùn)練相關(guān)概念、算法設(shè)計與訓(xùn)練操作技巧,需要的朋友可以參考下2020-01-01
Python中__init__和__new__的區(qū)別詳解
這篇文章主要介紹了Python中__init__和__new__的區(qū)別詳解,并著重說明了__new__的作用及什么情況下使用__new__,需要的朋友可以參考下2014-07-07

