整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

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

          今天筆者想和大家聊聊Python+selenium自動化生成測試報告,批量執行完用例后,生成的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是生成HTML格式的。

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

          一、導入HTMLTestRunner

          1.這個模塊下載不能通過pip安裝了,只能下載后手動導入。

          2.Download下HTMLTestRunner.py文件就是我們需要下載的包。

          3.下載后復制到Python安裝文件的Lib目錄下

          二、生成html測試報告

          1.這里主要有三個參數:

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

          title:測試報告的主題

          description:測試報告的描述

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

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

          備注:

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

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

          三、測試報告詳情

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

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

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

          五 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 中

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

          總結

          今天的這篇文章就分享到這里了,喜歡的小伙伴記得點贊評論收藏加關注喲,關注我每天給大家不同的驚喜。

          、簡介

          • JavaScript 是腳本語言
            • 一種輕量級的編程語言
            • 是可插入 HTML 頁面的編程代碼
            • 插入 HTML 頁面后,可由所有的現代瀏覽器執行

          作用

          • 直接寫入 HTML 輸出流
          • 對事件的反應
          • 改變 HTML 內容
          • 改變 HTML 圖像
          • 改變 HTML 樣式
          • 驗證輸入

          二、用法

          2.1、位置

          • 腳本必須位于 <script></script> 標簽之間
          • 可被放置在 HTML 頁面的 <body> 和 <head> 部分中

          2.2、引用方式

          • 內部:<script>alert("我的第一個 JavaScript");</script>
          • 外部:<script src=”myScript.js”></script>

          三、輸出

          3.1、顯示數據

          • 彈出警告框:window.alert()
          • 將內容寫到 HTML 文檔中:document.write()
          • 寫入到瀏覽器的控制臺:console.log()

          四、基礎語法

          4.1、字面量

          • 數字:整數、小數、科學技術(e)
          • 字符串:單引號、雙引號
          • 數組:[]
          • 對象:{}
          • 函數:function

          4.2、變量

          • 聲明變量:var
          • 賦值: =

          4.3、操作符

          • 算術運算符:= + - * /
          • 賦值運算符:= += -=
          • 比較運算符:< > == === !=

          4.4、函數

          • 關鍵字:function
          function myFunction(a,b){return a*b;}


          五、操作 HTML DOM

          5.1、HTML DOM

          • 文檔對象模型:Document Object Model

          5.2、查找 HTML 元素

          • 通過 id:var x=document.getElementById("xx");
          • 通過標簽名:var y=x.getElementsByTagName("p");
          • 通過類名:var x=document.getElementsByClassName("xx");

          5.3、改變 HTML

          • 內容:document.getElementById(id).innerHTML=新的 HTML
          • 屬性:document.getElementById(id).attribute=新屬性值

          5.4、Cookie

          • 讀取:var x = document.cookie;

          5.5、使用事件

          • 當用戶點擊鼠標時:onclick=JavaScript
          • 當網頁已加載時:onload=JavaScript
          • 當圖像已加載時:onunload=JavaScript
          • 當鼠標移動到元素上時:onmouseover=JavaScript
          • 當輸入字段被改變時:onchange=JavaScript
          • 當用戶觸發按鍵時:onmousedown=JavaScript

          六、操作 瀏覽器 BOM

          6.1、瀏覽器對象模型

          • Window 對象
          • 所有瀏覽器都支持 window 對象。它表示瀏覽器窗口
          • 所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員
          • HTML DOM 的 document 也是 window 對象的屬性之一

          6.2、瀏覽器窗口

          • 獲取瀏覽器窗口尺寸:
            • window.innerHeight - 瀏覽器窗口的內部高度(包括滾動條)
            • window.innerWidth - 瀏覽器窗口的內部寬度(包括滾動條)
          • 打開新窗口:window.open()
          • 關閉當前窗口:window.close()

          6.3、用戶屏幕

          • 可用的屏幕寬度:screen.availWidth
          • 可用的屏幕高度:screen.availHeight

          6.4、當前頁面的地址

          • 返回 web 主機的域名:location.hostname
          • 返回當前頁面的路徑和文件名:location.pathname
          • 返回所使用的 web 協議:location.protocol

          6.5、瀏覽器的歷史

          • 與在瀏覽器點擊后退按鈕相同:history.back()
          • 與在瀏覽器中點擊向前按鈕相同:history.forward()

          霍格沃茲的測試管理班是專門面向測試與質量管理人員的一門課程,通過提升從業人員的團隊管理、項目管理、績效管理、溝通管理等方面的能力,使測試管理人員可以更好的帶領團隊、項目以及公司獲得更快的成長。提供 1v1 私教指導,BAT 級別的測試管理大咖量身打造職業規劃。

          HTMLTestRunner.py 文件
          下載地址: http://tungwaiyip.info/software/HTMLTestRunner.html
          Windows :將下載的文件放入...\Python27\Lib 目錄下。




          定義HTMLTestRunner 測試報告:

          stream 定義報告所寫入的文件;

          title 為報告的標題;

          description 為報告的說明與描述。

          runner.run(testunit)運行測試容器中的用例,并將結果寫入的報告中。


          主站蜘蛛池模板: 国产主播一区二区三区| 国产一区二区三区乱码| 性色av闺蜜一区二区三区| 精品福利一区二区三区精品国产第一国产综合精品 | 无码国产精品一区二区免费vr| 国产拳头交一区二区| 国产欧美一区二区精品仙草咪| 秋霞无码一区二区| 国产AV午夜精品一区二区三区| 国产情侣一区二区三区| 一区二区三区视频免费观看| 日本一区二区在线不卡| 一区精品麻豆入口| 一区二区三区免费精品视频| 一区二区三区免费视频网站| 视频一区视频二区日韩专区| 午夜无码一区二区三区在线观看| 激情爆乳一区二区三区| 一区二区高清在线观看| 亚洲国产精品一区二区第一页免| 人妻无码一区二区视频| 一区二区乱子伦在线播放| 国精品无码一区二区三区在线| 国产精品视频一区二区噜噜 | 亚洲精品精华液一区二区| 国产美女在线一区二区三区| 精品视频一区二区三区四区 | 无码精品久久一区二区三区 | 亚洲福利精品一区二区三区| 国产观看精品一区二区三区| 中文字幕亚洲一区| 久久一区二区三区免费播放| 97se色综合一区二区二区| 日韩精品一区二区三区国语自制| 高清一区二区三区视频| 亚洲A∨精品一区二区三区| 狠狠做深爱婷婷综合一区| 午夜影视日本亚洲欧洲精品一区| 亚洲一区二区三区乱码在线欧洲| 在线观看日韩一区| 久久国产精品一区二区|