先給各位讀者粉絲拜個晚年!祝大家新年快樂,闔家幸福!今天為大家奉獻一篇測試開發工具集錦干貨。在本篇文章中,將給大家推薦10款日常工作中經常用到的測試開發工具神器,涵蓋了自動化測試、性能壓測、流量復制、混沌測試、造數據等。
1、AutoMeter-API 自動化測試平臺
AutoMeter 是一款針對分布式服務,微服務 API 做功能和性能一體化的自動化測試平臺,一站式提供發布單元,API,環境,用例,前置條件,場景,計劃,報告等管理。
在項目開發,迭代交付過程中開發人員,測試人員需要針對系統提供的 API 做調試,回歸測試,性能測試。自動化測試,一個好的平臺本質上需要解決 API 測試的 5 大基本問題:
- 1.支持不同的角色,技術人員多人協作
- 2.支持定義多個不同的測試環境
- 3.支持定義各種被測系統,API
- 4.支持功能,性能,回歸,自動化測試
- 5.功能/性能明細報告,統計報告
項目地址:
2、QA Wolf 瀏覽器自動化測試工具
QA Wolf 可幫助你以 10 倍的速度創建、運行和維護端到端的瀏覽器自動化測試。
項目地址:
3、Mimesis 用于 Python 的高性能虛假數據生成器
Mimesis 是一個用于 Python 的高性能虛假數據生成器,它以多種語言提供用于多種用途的數據。虛假數據可用于填充測試數據庫、創建虛假 API 端點、創建任意結構的 JSON 和 XML 文件、匿名化生產中的數據等。
支持的功能
- 簡單:易于使用和學習
- 多語言:支持多種語言的數據
- 性能:可用于 Python 的最快數據生成器
- 數據多樣性:支持多種數據提供者用于各種目的
- 通用數據提供者:從單個對象對所有提供者的簡化訪問
- 零依賴:不需要 Python 標準庫以外的任何模塊
- 基于模式的生成器:提供一種簡單的機制來通過任何復雜的模式生成數據
項目地址:
安裝:
示例:
4、Ddosify 高性能負載測試工具
Ddosify 是一個用 Golang 編寫的高性能負載測試工具和 DDOS 攻擊模擬。
特性:
- 協議不可知 - 目前支持 HTTP、HTTPS、HTTP/2。其他協議正在開發中。
- 基于場景 - 在 JSON 文件中創建你的流程。無需一行代碼!
- 不同的負載類型 - 測試你的系統在不同負載類型上的限制。
項目地址:
5、AutoCannon HTTP/1.1 基準測試工具
AutoCannon 是一個用 Node.js 編寫的 HTTP/1.1 基準測試工具,受到 wrk 和 wrk2 的極大啟發,支持 HTTP 管道和 HTTPS。autocannon 可以產生比 wrk 和 wrk2 更多的負載。
項目地址:
6、Sharingan 流量錄制回放工具
Sharingan(寫輪眼)是一個基于 golang 的流量錄制回放工具,適合項目重構、回歸測試等。
特性
- 支持下游流量錄制。相比 tcpcopy、goreplay 等方案,回放不依賴下游環境。
- 支持并發流量錄制和回放。錄制對服務影響小,回放速度更快。
- 支持時間重置、噪音去除、批量回放、覆蓋率報告、常見協議解析等等。
- 支持寫流量回放,不會污染應用數據。
- 不依賴業務框架,低應用浸入。
項目地址:
使用示例:
7、randdata 隨機測試數據生成工具
randdata 是一款基于 JAVA 開發的測試數據生成工具,為了測試人員、軟件開發人員、數據開發人員、售前工程師或產品經理演示提供生成隨機相應數據的全力打造的,支持個人信息、地址、數字、網絡、銀行、是非等多種數據的隨機生成,無需用戶再去編寫復雜 SQL 或程序就能生成附合中國人習慣的數據。從而大大的節約軟件開發的成本。
特點:
- 無代碼 : 無需編寫代碼,即生成相應數據。
- 運行簡單:用戶只要安裝 JDK1.8 及以上版本即可運行。
- 數據隨機性:最大限度保證數據不重復。
- 支持直接數據庫表生成:可直接導入某些數據庫的表結構,而無須手工建表,通過給表指定生成數據類型即可。
- 運行環境要求低:windows、linux 等 PC 機可直接運行,項目只有一個 jar 包,可通過 java -jar 包名即可運行。
項目地址:
8、DrissionPage WEB 自動化測試集成工具
DrissionPage,即 driver 和 session 的合體,是一個基于 python 的 Web 自動化操作集成工具。
requests 爬蟲面對要登錄的網站時,要分析數據包、JS 源碼,構造復雜的請求,往往還要應付驗證碼、JS 混淆、簽名參數等反爬手段,門檻較高。若數據是由 JS 計算生成的,還須重現計算過程,體驗不好,開發效率不高。使用 selenium,則可以很大程度上繞過這些坑,但 selenium 效率不高。
因此,這個庫將 selenium 和 requests 合二為一,不同需要時切換相應模式,并提供一種人性化的使用方法,提高開發和運行效率。除了合并兩者,本庫還以網頁為單位封裝了常用功能,簡化了 selenium 的操作和語句,在用于網頁自動化操作時,減少考慮細節,專注功能實現,使用更方便。
特性
- 允許在 selenium 和 requests 間無縫切換,共享 session。
- 兩種模式提供一致的 API,使用體驗一致。
- 人性化的頁面元素操作方式,減輕頁面分析工作量和編碼量。
- 對常用功能作了整合和優化,更符合實際使用需要。
- 兼容 selenium 代碼,便于項目遷移。
- 使用 POM 模式封裝,便于擴展。
- 統一的文件下載方法,彌補瀏覽器下載的不足。
- 簡易的配置方法,擺脫繁瑣的瀏覽器配置。
項目地址:
9、Chaos Mesh 在 Kubernetes 上進行混沌測試
Chaos Mesh 是一個云原生的混沌工程(Chaos Engineering)平臺,可在 Kubernetes 環境中進行混沌測試。
當前實現支持用于故障注入的主要操作:
- pod-kill:模擬 Kubernetes Pod 被 kill。
- pod-failure:模擬 Kubernetes Pod 持續不可用,可以用來模擬節點宕機不可用場景。
- network-delay:模擬網絡延遲。
- network-loss:模擬網絡丟包。
- network-duplication:模擬網絡包重復。
- network-corrupt:模擬網絡包損壞。
- network-partition:模擬網絡分區。
- I/O delay:模擬文件系統 I/O 延遲。
- I/O errno:模擬文件系統 I/O 錯誤 。
項目地址:
10、Automagica 智能流程自動化平臺
Automagica 是一個開源智能機器人流程自動化(SRPA,Smart Robotic Process Automation)平臺,借助 Automagica,自動化跨平臺流程變得輕而易舉。Automagica 可以通過簡單程序腳本實現打開各種應用程序并對應用進行操作。
Automagica 需要 Python 3.7 環境,官方支持 Windows 10 平臺,Linux 和 Mac 目前官方還不支持。
項目地址:
Automagica 使用場景:
- 桌面交互自動化
- Office 自動化,例如打開 Excel 并進行數據填充
- Web 自動化,例如打開網址并進行網頁操作
- 商業應用自動化
- 自動打開郵件應用并收發郵件
- 遠程控制等等
例如:打開 Excel 并進行程序控制:
打開畫圖工具并進行繪圖:
示例代碼 該示例打開 Windows 記事本并輸入 'Hello world!'.
下面例子打開 Chrome 瀏覽器并訪問指定url
本文轉載自微信公眾號「測試開發技術」,可以通過以下二維碼關注。轉載本文請聯系測試開發技術公眾號。