傳統的測試用例須要測試或者開發人員將用戶的操做用代碼表示出來,經過斷言判斷是否和預期一致,寫測試用例也佔用了部分時間,加上版本迭代測試用例的維護成本也較高,因而基於無埋點的需求相結合自動化測試來檢測埋點,及時告警,提升準確率和代碼質量,爲了減小測試用例的開發維護時間,誕生了自動生成測試用例的方案,另外不由於出錯而中斷代碼的執行
測試框架
https://github.com/Tencent/FA...html
測試框架使用FAutoTest,能夠測試小程序,H5,對比曾經用過的selenium,代碼運行要穩定不少,wait的時間也都很穩定,對比phantom截圖像素對比,能夠細化測試用例的行爲,基於x5內核的driver能測試微信環境,能覆蓋到現業務的使用場景,具體使用,能夠參看上述連接python
如何自動生成測試用例
1.首先在後臺配置測試用例,具體思路git
2.配置完測試用例,python請求接口獲取測試用例配置的入參(in字段),出參(out字段),,in裏邊的字段是入參,url是點擊行爲所在的頁面,xpath是點擊的位置,out裏邊的字段是出參,url是預期要跳轉的頁面,xpath是預期頁面的標記位置,帶text是預期的文案,帶class是預期的樣式,把用戶行爲儘可能拆分紅入參,出參可以表達的行爲github
3.python請求接口,遍歷接口數據生成前綴爲test_case_xxx的測試用例,自動生成測試用例而不是在一條測試用例裏邊執行完全部的行爲,避免出錯而中斷代碼執行,代碼以下小程序
生成測試報告
1)安裝HTMLTestRunner微信
HTMLTestRunner 是 Python 標準庫的 unittest 模塊的一個擴展,它能夠生成 HTML的 測試報告。框架
首先要下 HTMLTestRunner.py 文件,將下載的文件放入…pythonLib目錄下測試
python2版下載地址:http://tungwaiyip.info/softwa...ui
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)再次執行測試腳本,生成測試報告以下: