python自動化測試如何自動生成測試用例

傳統的測試用例需要測試或者開發人員將用戶的操作用代碼表示出來,通過斷言判斷是否和預期一致,寫測試用例也佔用了部分時間,加上版本迭代測試用例的維護成本也較高,於是基於無埋點的需求相結合自動化測試來檢測埋點,及時告警,提高準確率和代碼質量,爲了減少測試用例的開發維護時間,誕生了自動生成測試用例的方案,另外不因爲出錯而中斷代碼的執行
測試框架

https://github.com/Tencent/FA...

測試框架使用FAutoTest,可以測試小程序,H5,對比曾經用過的selenium,代碼運行要穩定很多,wait的時間也都很穩定,對比phantom截圖像素對比,可以細化測試用例的行爲,基於x5內核的driver能測試微信環境,能覆蓋到現業務的使用場景,具體使用,可以參看上述鏈接

如何自動生成測試用例

圖片描述

1.首先在後臺配置測試用例,具體思路

  • 獲取點擊位置xpath,該測試用例預期文案或者樣式
  • 請求接口將測試用例數據配置寫入表,並提供接口拉取所有測試用例數據

2.配置完測試用例,python請求接口獲取測試用例配置的入參(in字段),出參(out字段),,in裏邊的字段是入參,url是點擊行爲所在的頁面,xpath是點擊的位置,out裏邊的字段是出參,url是預期要跳轉的頁面,xpath是預期頁面的標記位置,帶text是預期的文案,帶class是預期的樣式,把用戶行爲儘量拆分成入參,出參能夠表達的行爲

3.python請求接口,遍歷接口數據生成前綴爲test_case_xxx的測試用例,自動生成測試用例而不是在一條測試用例裏邊執行完所有的行爲,避免出錯而中斷代碼執行,代碼如下
圖片描述

生成測試報告

1)安裝HTMLTestRunner

HTMLTestRunner 是 Python 標準庫的 unittest 模塊的一個擴展,它可以生成 HTML的 測試報告。

首先要下 HTMLTestRunner.py 文件,將下載的文件放入…pythonLib目錄下

python2版下載地址:http://tungwaiyip.info/softwa...

python3版下載地址:http://pan.baidu.com/s/1dEZQ0pz

2)測試腳本中引入

from HTMLTestRunner import HTMLTestRunner
3)定義測試報告的路徑,調用HtmlTestRunner

# 按照一定的格式獲取當前的時間
now = time.strftime("%Y-%m-%d %H_%M_%S")
# 定義報告存放路徑
filename = "../report/" + now + ".html"
fp = open(filename, "wb")
# 定義測試報告
runner = HTMLTestRunner(stream=fp,
 title="測試報告",
 description="測試用例執行情況:")
runner.run(suite())

4)執行測試腳本,打印測試報告,生成html,但是測試報告中有亂碼,參考網上解決方法:https://testerhome.com/topics...,測試腳本引入代碼

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
修改HtmlTestRunner.py中的編碼“latin-1”修改爲“utf-8”後保存

5)再次執行測試腳本,生成測試報告如下:
圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章