今天筆者想和大家聊聊Python+selenium自動化生成測試報告,批量執行完用例后,生成的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是生成HTML格式的。
unittest里面是不能生成html格式報告的,需要導入一個第三方的模塊:HTMLTestRunner
1.這個模塊下載不能通過pip安裝了,只能下載后手動導入。
2.Download下HTMLTestRunner.py文件就是我們需要下載的包。
3.下載后復制到Python安裝文件的Lib目錄下
1.這里主要有三個參數:
stream:測試報告寫入文件的存儲區域
title:測試報告的主題
description:測試報告的描述
2. report_path是存放測試報告的地址
運行腳本后在F盤指定位置就能找到這個測試報告文件,這時候如果文件多了,不知道測試報告在哪天生成的?能否在文件名上顯示一個日期和時間呢?當然是可以的
備注:
%Y-%m-%d為年月日
%H-%M為時分 注意:時間之間不能使用冒號(:)因為文件名不能使用冒號
1.找到測試報告文件,用瀏覽器打開,點開View里的Detail可以查看詳情描述。
紅框中內容顯是英文,我們不能直觀看出是什么測試用例,可以在測試代碼中添加中文注釋,注釋前面要加字母u,代碼修改如下:
Python在 unittest.TestCase 類中提供了很多斷言方法。斷言方法檢查你認為應該滿足的條件是否確實滿足。如果該條件確實滿足,你對程序行為的假設就得到了確認,你就可以確信其中沒有錯誤。如果你認為應該滿足的條件實際上并不滿足,Python將引發異常。下表描述了6個常用的斷言方法。使用這些方法可核實返回的值等于或不等于預期的值、返回的值為 True 或 False 、返回的值在列表中或不在列表中。你只能在繼承 unittest.TestCase 的類中使用這些方法。
unittest常用的斷言方法 | |
方法 | 用途 |
assertEqual(a, b) | 核實 a == b |
assertNotEqual(a, b) | 核實 a != b |
assertTrue(x) | 核實 x 為 True |
assertFalse(x) | 核實 x 為 False |
assertIn( item , list ) | 核實 item 在 list 中 |
assertNotIn( item , list ) | 核實 item 不在 list 中 |
1.assertEqual(self, first, second, msg=None)
--判斷兩個參數相等:first == second
2.assertNotEqual(self, first, second, msg=None)
--判斷兩個參數不相等:first != second
3.assertIn(self, member, container, msg=None)
--判斷是字符串是否包含:member in container
4.assertNotIn(self, member, container, msg=None)
--判斷是字符串是否不包含:member not in container
5.assertTrue(self, expr, msg=None)
--判斷是否為真:expr is True
6.assertFalse(self, expr, msg=None)
--判斷是否為假:expr is False
7.assertIsNone(self, obj, msg=None)
--判斷是否為None:obj is None
8.assertIsNotNone(self, obj, msg=None)--判斷是否不為None:obj is not None
實例:assertEqual(a, b),其它的斷言方法請自行嘗試)
今天的這篇文章就分享到這里了,喜歡的小伙伴記得點贊評論收藏加關注喲,關注我每天給大家不同的驚喜。
function myFunction(a,b){return a*b;}
霍格沃茲的測試管理班是專門面向測試與質量管理人員的一門課程,通過提升從業人員的團隊管理、項目管理、績效管理、溝通管理等方面的能力,使測試管理人員可以更好的帶領團隊、項目以及公司獲得更快的成長。提供 1v1 私教指導,BAT 級別的測試管理大咖量身打造職業規劃。
HTMLTestRunner.py 文件
下載地址: http://tungwaiyip.info/software/HTMLTestRunner.html
Windows :將下載的文件放入...\Python27\Lib 目錄下。
定義HTMLTestRunner 測試報告:
stream 定義報告所寫入的文件;
title 為報告的標題;
description 為報告的說明與描述。
runner.run(testunit)運行測試容器中的用例,并將結果寫入的報告中。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。