日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python下selenium测试报告整合

發布時間:2024/4/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python下selenium测试报告整合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用過一段時間的Robot Framework測試框架,測試之前需要先搭環境,需要安裝的東西很多,這一點個人有些排斥。

每一個測試內容對應一個Test_Case,Robot有自己語法格式,如判斷、循環。實際使用中發現導入自定義Lib莫名報錯,很是頭疼。

腳本編寫完成,可以在UI界面運行,也可以使用命令行pybot + Robot項目運行。

Robot最大的優點,自動生成html格式的測試報告,免去腳本中一大堆測試結果處理、保存動作。缺點上文已描述,需要搭建環境,自定義語法個人很排斥。

于是,這幾天在網上尋找測試報告模板,最終覺得HTMLTestRunner非常不錯。

?

一、下載、配置

1.下載HTMLTestRunner.py文件:地址http://tungwaiyip.info/software/HTMLTestRunner.html

2.將該文件保存在python安裝路徑下的lib文件夾中。

?

二、使用

1.基本用法

1.1 import unittest
1.2 定義一個繼承自unittest.TestCase的測試用例類
1.3 定義setUp和tearDown,在每個測試用例前后做一些輔助工作。
1.4 定義測試用例,名字以test開頭。
1.5 一個測試用例應該只測試一個方面,測試目的和測試內容應很明確。主要是調用assertEqual、assertRaises等斷言方法判斷程序執行結果和預期值是否相符。
1.6 調用unittest.main()啟動測試
1.7 如果測試未通過,會輸出相應的錯誤提示。如果測試全部通過則不顯示任何東西,這時可以添加-v參數顯示詳細信息。

2.unittest模塊的常用方法

assertEqual(a, b) ??? a == b ??? ?
assertNotEqual(a, b) ??? a != b ??? ?
assertTrue(x) ??? bool(x) is True ??? ?
assertFalse(x) ??? bool(x) is False ??? ?
assertIs(a, b) ??? a is b ??? 2.7
assertIsNot(a, b) ??? a is not b ??? 2.7
assertIsNone(x) ??? x is None ??? 2.7
assertIsNotNone(x) ??? x is not None ??? 2.7
assertIn(a, b) ??? a in b ??? 2.7
assertNotIn(a, b) ??? a not in b ??? 2.7
assertIsInstance(a, b) ??? isinstance(a, b) ??? 2.7
assertNotIsInstance(a, b) ??? not isinstance(a, b) ??? 2.7

3.測試用例

#coding:utf-8 import unittest import time import randomimport HTMLTestRunnerclass Test_Class(unittest.TestCase):def setUp(self):self.seq = range(10)def test_shuffle(self): # make sure the shuffled sequence does not lose any elements random.shuffle(self.seq) self.seq.sort() self.assertEqual(self.seq, range(10)) # should raise an exception for an immutable sequence print("test_shuffle")self.assertRaises(TypeError, random.shuffle, (1,2,3)) def test_choice(self): element = random.choice(self.seq) print("test_choice")self.assertTrue(element in self.seq) def test_sample(self): with self.assertRaises(ValueError): random.sample(self.seq, 20) for element in random.sample(self.seq, 5): self.assertTrue(element in self.seq)def sun(self):self.temp = 5 + 6print("sun test")self.assertEqual(self.temp,11)if __name__ == "__main__":testsuite = unittest.TestSuite() # 添加測試用例到測試集中testsuite.addTest(Test_Class("test_shuffle"))testsuite.addTest(Test_Class("test_choice"))testsuite.addTest(Test_Class("test_sample"))testsuite.addTest(Test_Class("sun"))# 生成測試報告文件filename = 'D:\\result.html'fp = file(filename, 'wb')runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='測試結果',description='測試報告.') # runner = unittest.TextTestRunner()runner.run(testsuite)

  運行后測試結果會生成為D:\\result.html 的文件,當然測試結果的文件名稱你可以隨意命名,或者根據時間自動生成。直接打開后就可以看到測試結果。

?

三、測試報告

  

四、使用說明

1.test_case中print信息出現在report中,運行批處理窗口沒有打印信息。

2.Python shell中運行同樣如此

但還有一個問題,Python shell中運行時未產生測試報告,測試報告文件大小為0

?

轉載于:https://www.cnblogs.com/hester/p/4703054.html

總結

以上是生活随笔為你收集整理的python下selenium测试报告整合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。