Python+selenium自動化生成測試報告

批量執行完用例後,生成的測試報告是文本形式的,不夠直觀,爲了更好的展現測試報告,最好是生成HTML格式的。html

unittest裏面是不能生成html格式報告的,須要導入一個第三方的模塊:HTMLTestRunner面試

1、導入HTMLTestRunner瀏覽器

1.這個模塊下載不能經過pip安裝了,只能下載後手動導入,下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html學習

 

 

2.Download下HTMLTestRunner.py文件就是咱們須要下載的包。測試

3.下載後複製到Python安裝文件的Lib目錄下網站

 

2、生成html測試報告spa

1.這裏主要有三個參數:3d

stream:測試報告寫入文件的存儲區域htm

title:測試報告的主題blog

description:測試報告的描述

2. report_path是存放測試報告的地址

 

運行腳本後在F盤指定位置就能找到這個測試報告文件,這時候若是文件多了,不知道測試報告在哪天生成的?可否在文件名上顯示一個日期和時間呢?固然是能夠的!

 

備註:

%Y-%m-%d爲年月日

%H-%M爲時分  注意:時間之間不能使用冒號(:)由於文件名不能使用冒號

3、測試報告詳情

1.找到測試報告文件,用瀏覽器打開,點開View裏的Detail能夠查看詳情描述。

 

 

紅框中內容顯是英文,咱們不能直觀看出是什麼測試用例,能夠在測試代碼中添加中文註釋,註釋前面要加字母u,代碼修改以下:

 

 

4、再次運行run_all_case腳本文件後,查看HTML測試報告

 

 

2.5 unittest斷言

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 中

3、unittest經常使用的斷言方法

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),其它的斷言方法請自行償試)

 

總結:  軟件測試、接口測試、自動化測試、面試經驗交流。感興趣能夠關注咱們碼上開始,公衆號內會有不按期的發放免費的資料連接,還有同行一塊兒技術交流。這些資料都是從各個技術網站蒐集、整理出來的,若是你有好的學習資料能夠私聊發我,我會註明出處以後分享給你們。

相關文章
相關標籤/搜索