當前位置:
首頁 > 最新 > 松勤軟體自動化測試

松勤軟體自動化測試

創建介面測試用例,/home/csg/pyrequest-master/interface/add_event_test.py

對上述代碼進行分析:

1、在介面測試之前,調用test_data.py文件中的init_data()方法,初始化資料庫中的測試數據;

2、創建AddEventTest測試類,繼承unittest.TestCase類;

3、創建測試用例,調用添加發布會介面,並驗證介面返回的數據;

注意:

1、把JSON格式的結果轉化為字典賦值給self.result變數,加self的目的是在tearDown()方法中列印self.result變數,列印的結果可以在測試報告中顯示,即將介面返回數據列印出來;

2、如果不使用self,又想在報告中顯示每個介面返回數據,就只能是在每個用例中print出result,相比來說,還是第一種方法比較方便。


集成測試報告

當用例數量較多,就需要分類管理和執行,為解決這個問題,unittest單元測試框架提供了discover()方法,然後再適用HTMLTestRunner生成HTML格式的測試報告。

創建/home/csg/pyrequest-master/interface/run_tests.py文件:

對上述代碼進行分析:

1、還是先調用test_data.py文件中的init_data()函數來初始化測試數據;

2、unittest框架提供的discover()方法查找interface目錄下,匹配到文件名*_test.py結尾的測試文件;

3、now按一定格式生成當前時間;

4、將文件名命名為now當前時間_result.html並且保存report目錄下;

5、HTMLTestRunner為unittest單元測試框架的擴展,利用它提供的HTMLTestRunner()類來代替unittest單元測試框架的TextTestRunner()類,運行discover中匹配到的測試用例,生成HTML格式的測試報告;

運行測試腳本:python run_tests.py:

1、可能需要安裝configparser庫,pip install configparser;

2、在運行過程中,出現了錯誤:

應該是數據表裡create_time欄位需要一個默認值,於是修改test_data.py文件,給每個測試數據都增加create_time默認值為當前時間,再次運行就沒有這個錯誤了;

3、但是繼續執行又出現了錯誤:

問了下度娘,應該是讀取文件的時候使用的是ASCII編碼,而不是utf-8,自己多餘,在每個測試用例的開頭都增加了-*- coding:utf-8 -*-,畫蛇添足了,去掉後再次運行就沒這個錯誤了;

4. 但是運行結果全部是failed的,查看具體的error信息:

原來還是要在每個測試數據前加上utf-8編碼的聲明,但是每個用例的注釋信息不能是中文,奇怪了,沒深入研究,反正都修改為英文後,再次運行成功了。

完整的自動化測試報告如下圖所示:

總結

其實,作者自己完全的封裝了一個類似Robot的工具,這個好處是拋開了框架的束縛,可以自由的編寫測試用例的內容,只要是python的代碼,就可以採用這個工具,自由發揮測試內容,並且結果的展示也比較豐富和友好,如果不打算研究Robot的,其實可以用這個工具。

特別鳴謝:原創作者蟲師


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 松勤軟體學院 的精彩文章:

遊戲測試工作的一點感悟
apache性能測試工具

TAG:松勤軟體學院 |