做python自动化得时候怎么添加断言_在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了一些操作...
在編寫Web自動化測試用例的時候,如何寫斷言使新手不解,嚴格意義上來講,沒有斷言的自動化腳本不能叫測試用例。就像功能測試一樣,當測試人員做了一些操作之后必然會判斷實際結果是否等于預期結果,只不過,這個過程由測試人員的眼睛完成。而自動化測試腳本必然要通過一此信息來斷定用例是否成功。
這其中常用的三種信息分別是:
title?:頁面不同或顯示不同時往往title也會有所變化。
url?:與title類似,當頁面發生變化時,跟著url也會改變。
text:相比前者應用更廣泛,因為通過它可以獲取頁面上的任意標識性文本,用于“證明”用例執行是成功的。例如,登陸之后人用戶名,查詢的結果等。
但是,在有些情況下,無法獲取這些信息來證明用例是成功的怎么辦?當然,下策是不寫斷言,腳本運行沒有報錯來證明用例執行成功,這當然是無奈之舉。除此之外還可以選擇斷言兩張圖片,在用例執行正確的情況下對當前頁面進行截圖,在用例執行的過程中再次進行截圖。通過對兩張圖片進行比較,從而判斷用例是否運行成功。
根據自己的操作系統以及python版本選擇下載。
安裝:
> python3 -m pip install Pillow-3.0.0-cp35-none-win_amd64.whl
Processing c:seleniumpillow-3.0.0-cp35-none-win_amd64.whl
Installing collected packages: Pillow
Successfully installed Pillow-3.0.0
注意,因為我本機同時安裝了Python2.7和Python3.5,所以,這里特意指定安裝在Python3的下面。
from PIL importImageimportmathimportoperatorfrom functools importreducedefimage_contrast(img1, img2):
image1=Image.open(img1)
image2=Image.open(img2)
h1=image1.histogram()
h2=image2.histogram()
result= math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2, h1, h2)))/len(h1) )returnresultif __name__ == '__main__':
img1= "./img1.jpg" #指定圖片路徑
img2 = "./img2.jpg"result=image_contrast(img1,img2)print(result)
如果兩張圖片完全相等,則返回結果為浮點類型“0.0”,如果不相同則返回結果值越大。
這樣就可以在自動化測試用例中調用該方法來斷言執行結果。
=====================
關于Pillow庫的詳細文檔:
總結
以上是生活随笔為你收集整理的做python自动化得时候怎么添加断言_在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了一些操作...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程绘图库turtle如何安
- 下一篇: 政策表达式截取json_json格式数据