當前視訊!2023年十款開源測試開發(fā)工具推薦(自動化、性能、混沌測試、造數(shù)據(jù)、流量復制)
先給各位讀者粉絲拜個晚年!祝大家新年快樂,闔家幸福!今天為大家奉獻一篇測試開發(fā)工具集錦干貨。在本篇文章中,將給大家推薦10款日常工作中經(jīng)常用到的測試開發(fā)工具神器,涵蓋了自動化測試、性能壓測、流量復制、混沌測試、造數(shù)據(jù)等。
1、AutoMeter-API 自動化測試平臺AutoMeter 是一款針對分布式服務(wù),微服務(wù) API 做功能和性能一體化的自動化測試平臺,一站式提供發(fā)布單元,API,環(huán)境,用例,前置條件,場景,計劃,報告等管理。
(相關(guān)資料圖)
在項目開發(fā),迭代交付過程中開發(fā)人員,測試人員需要針對系統(tǒng)提供的 API 做調(diào)試,回歸測試,性能測試。自動化測試,一個好的平臺本質(zhì)上需要解決 API 測試的 5 大基本問題:
1.支持不同的角色,技術(shù)人員多人協(xié)作2.支持定義多個不同的測試環(huán)境3.支持定義各種被測系統(tǒng),API4.支持功能,性能,回歸,自動化測試5.功能/性能明細報告,統(tǒng)計報告項目地址:
https://gitee.com/season-fan/autometer-api2、QA Wolf 瀏覽器自動化測試工具
QA Wolf 可幫助你以 10 倍的速度創(chuàng)建、運行和維護端到端的瀏覽器自動化測試。
項目地址:
https://github.com/qawolf/qawolf3、Mimesis 用于 Python 的高性能虛假數(shù)據(jù)生成器
Mimesis 是一個用于 Python 的高性能虛假數(shù)據(jù)生成器,它以多種語言提供用于多種用途的數(shù)據(jù)。虛假數(shù)據(jù)可用于填充測試數(shù)據(jù)庫、創(chuàng)建虛假 API 端點、創(chuàng)建任意結(jié)構(gòu)的 JSON 和 XML 文件、匿名化生產(chǎn)中的數(shù)據(jù)等。
支持的功能
簡單:易于使用和學習多語言:支持多種語言的數(shù)據(jù)性能:可用于 Python 的最快數(shù)據(jù)生成器數(shù)據(jù)多樣性:支持多種數(shù)據(jù)提供者用于各種目的通用數(shù)據(jù)提供者:從單個對象對所有提供者的簡化訪問零依賴:不需要 Python 標準庫以外的任何模塊基于模式的生成器:提供一種簡單的機制來通過任何復雜的模式生成數(shù)據(jù)項目地址:
https://github.com/lk-geimfari/mimesis
安裝:
pipinstallmimesis
示例:
>>>frommimesisimportPerson>>>frommimesis.localesimportLocale>>>person=Person(Locale.EN)>>>person.full_name()"BrandeSears">>>person.email(domains=["example.com"])"roccelline1878@example.com">>>person.email(domains=["mimesis.name"],unique=True)"f272a05d39ec46fdac5be4ac7be45f3f@mimesis.name">>>person.telephone(mask="1-4##-8##-5##3")"1-436-896-5213"4、Ddosify 高性能負載測試工具
Ddosify 是一個用 Golang 編寫的高性能負載測試工具和 DDOS 攻擊模擬。
特性:
協(xié)議不可知 - 目前支持 HTTP、HTTPS、HTTP/2。其他協(xié)議正在開發(fā)中。基于場景 - 在 JSON 文件中創(chuàng)建你的流程。無需一行代碼!不同的負載類型 - 測試你的系統(tǒng)在不同負載類型上的限制。項目地址:
https://github.com/ddosify/ddosify5、AutoCannon HTTP/1.1 基準測試工具
AutoCannon 是一個用 Node.js 編寫的 HTTP/1.1 基準測試工具,受到 wrk 和 wrk2 的極大啟發(fā),支持 HTTP 管道和 HTTPS。autocannon 可以產(chǎn)生比 wrk 和 wrk2 更多的負載。
項目地址:
https://github.com/mcollina/autocannon6、Sharingan 流量錄制回放工具
Sharingan(寫輪眼)是一個基于 golang 的流量錄制回放工具,適合項目重構(gòu)、回歸測試等。
特性
支持下游流量錄制。相比 tcpcopy、goreplay 等方案,回放不依賴下游環(huán)境。支持并發(fā)流量錄制和回放。錄制對服務(wù)影響小,回放速度更快。支持時間重置、噪音去除、批量回放、覆蓋率報告、常見協(xié)議解析等等。支持寫流量回放,不會污染應(yīng)用數(shù)據(jù)。不依賴業(yè)務(wù)框架,低應(yīng)用浸入。項目地址:
https://github.com/didi/sharingan
使用示例:
#Step1:下載sharingan項目$gitclonehttps://github.com/didi/sharingan.git$cdsharingan# Step2:使用定制版golang,以go1.13為例「慢?科學上網(wǎng)試試」$shinstall.shgo1.13#支持go1.10~go1.15,限mac、linuxamd64系統(tǒng)$exportGOROOT=/tmp/recorder-go1.13$exportPATH=$GOROOT/bin:$PATH#Step3:編譯、后臺啟動replayer-agent「默認會占用3515、8998端口,可修改」#[回放接入文檔]內(nèi)有直接下載bin文件的鏈接,無需build$cdreplayer-agent$gobuild$nohup./replayer-agent>>run.log2>&1Step4:編譯、后臺啟動example示例「默認會占用9999端口,可修改」$cd../example$gobuild-tags="replayer"-gcflags="all=-N-l"$nohup./example>>run.log2>&1Step5:打開回放頁面$瀏覽器打開,http://127.0.0.1:8998#非本機替換IP即可$頁面選擇要回放的流量點執(zhí)行#內(nèi)置提前錄制好的3條example示例流量7、randdata 隨機測試數(shù)據(jù)生成工具
randdata 是一款基于 JAVA 開發(fā)的測試數(shù)據(jù)生成工具,為了測試人員、軟件開發(fā)人員、數(shù)據(jù)開發(fā)人員、售前工程師或產(chǎn)品經(jīng)理演示提供生成隨機相應(yīng)數(shù)據(jù)的全力打造的,支持個人信息、地址、數(shù)字、網(wǎng)絡(luò)、銀行、是非等多種數(shù)據(jù)的隨機生成,無需用戶再去編寫復雜 SQL 或程序就能生成附合中國人習慣的數(shù)據(jù)。從而大大的節(jié)約軟件開發(fā)的成本。
特點:
無代碼 : 無需編寫代碼,即生成相應(yīng)數(shù)據(jù)。運行簡單:用戶只要安裝 JDK1.8 及以上版本即可運行。數(shù)據(jù)隨機性:最大限度保證數(shù)據(jù)不重復。支持直接數(shù)據(jù)庫表生成:可直接導入某些數(shù)據(jù)庫的表結(jié)構(gòu),而無須手工建表,通過給表指定生成數(shù)據(jù)類型即可。運行環(huán)境要求低:windows、linux 等 PC 機可直接運行,項目只有一個 jar 包,可通過 java -jar 包名即可運行。項目地址:
https://gitee.com/chenlinux0768/randdata8、DrissionPage WEB 自動化測試集成工具
DrissionPage,即 driver 和 session 的合體,是一個基于 python 的 Web 自動化操作集成工具。
requests 爬蟲面對要登錄的網(wǎng)站時,要分析數(shù)據(jù)包、JS 源碼,構(gòu)造復雜的請求,往往還要應(yīng)付驗證碼、JS 混淆、簽名參數(shù)等反爬手段,門檻較高。若數(shù)據(jù)是由 JS 計算生成的,還須重現(xiàn)計算過程,體驗不好,開發(fā)效率不高。使用 selenium,則可以很大程度上繞過這些坑,但 selenium 效率不高。
因此,這個庫將 selenium 和 requests 合二為一,不同需要時切換相應(yīng)模式,并提供一種人性化的使用方法,提高開發(fā)和運行效率。除了合并兩者,本庫還以網(wǎng)頁為單位封裝了常用功能,簡化了 selenium 的操作和語句,在用于網(wǎng)頁自動化操作時,減少考慮細節(jié),專注功能實現(xiàn),使用更方便。
特性
允許在 selenium 和 requests 間無縫切換,共享 session。兩種模式提供一致的 API,使用體驗一致。人性化的頁面元素操作方式,減輕頁面分析工作量和編碼量。對常用功能作了整合和優(yōu)化,更符合實際使用需要。兼容 selenium 代碼,便于項目遷移。使用 POM 模式封裝,便于擴展。統(tǒng)一的文件下載方法,彌補瀏覽器下載的不足。簡易的配置方法,擺脫繁瑣的瀏覽器配置。項目地址:
https://gitee.com/g1879/DrissionPage9、Chaos Mesh 在 Kubernetes 上進行混沌測試
Chaos Mesh 是一個云原生的混沌工程(Chaos Engineering)平臺,可在 Kubernetes 環(huán)境中進行混沌測試。
當前實現(xiàn)支持用于故障注入的主要操作:
pod-kill:模擬 Kubernetes Pod 被 kill。pod-failure:模擬 Kubernetes Pod 持續(xù)不可用,可以用來模擬節(jié)點宕機不可用場景。network-delay:模擬網(wǎng)絡(luò)延遲。network-loss:模擬網(wǎng)絡(luò)丟包。network-duplication:模擬網(wǎng)絡(luò)包重復。network-corrupt:模擬網(wǎng)絡(luò)包損壞。network-partition:模擬網(wǎng)絡(luò)分區(qū)。I/O delay:模擬文件系統(tǒng) I/O 延遲。I/O errno:模擬文件系統(tǒng) I/O 錯誤 。項目地址:
https://gitee.com/mirrors/Chaos-Mesh10、Automagica 智能流程自動化平臺
Automagica 是一個開源智能機器人流程自動化(SRPA,Smart Robotic Process Automation)平臺,借助 Automagica,自動化跨平臺流程變得輕而易舉。Automagica 可以通過簡單程序腳本實現(xiàn)打開各種應(yīng)用程序并對應(yīng)用進行操作。
Automagica 需要 Python 3.7 環(huán)境,官方支持 Windows 10 平臺,Linux 和 Mac 目前官方還不支持。
項目地址:
https://github.com/OakwoodAI/Automagicahttps://gitee.com/mirrors/Automagica
Automagica 使用場景:
桌面交互自動化Office 自動化,例如打開 Excel 并進行數(shù)據(jù)填充Web 自動化,例如打開網(wǎng)址并進行網(wǎng)頁操作商業(yè)應(yīng)用自動化自動打開郵件應(yīng)用并收發(fā)郵件遠程控制等等例如:打開 Excel 并進行程序控制:
打開畫圖工具并進行繪圖:
示例代碼該示例打開 Windows 記事本并輸入 "Hello world!".
PressHotkey("win","r")Wait(seconds=1)Type(text="notepad",interval_seconds=0)PressKey("enter")Wait(seconds=2)Type(text="Helloworld!",interval_seconds=0.15)
下面例子打開 Chrome 瀏覽器并訪問指定url
browser=ChromeBrowser()browser.get("https://www.cnblogs.com/jinjiangongzuoshi/")
如果您覺得作者文章對自己或身邊同事朋友有幫助,歡迎您點擊下方【點贊】或【轉(zhuǎn)發(fā)】,喜歡本篇文章的讀者請點擊【關(guān)注】,公號主頁更多干貨好文等您悅讀。
關(guān)鍵詞: 自動化測試 模擬網(wǎng)絡(luò) 測試工具
相關(guān)閱讀
-
當前視訊!2023年十款開源測試開發(fā)工具...
先給各位讀者粉絲拜個晚年!祝大家新年快樂,闔家幸福!今天為大家... -
每日消息!我和周鴻祎都發(fā)現(xiàn)了《三體》中...
大家周末好,我是軒轅。今年春節(jié),我追了兩部劇,一個是《三體》,... -
當前觀察:我的博客換成了 NotionNext
在《程序員不可錯過的一款Hexo博客主題》中介紹了我博客的主題stell... -
環(huán)球報道:你可以直接體驗ChatGPT,只因...
每天9點準時發(fā)文喜歡給個星標AI智能聊天系統(tǒng)的熱度本來都下去了,現(xiàn)... -
我想讓每個人都能學會注冊ChatGPT
每天9點準時發(fā)文喜歡給個星標本來我想寫的,沒想到編程伐木累的機器... -
你相信公司里有所謂的“重點培養(yǎng)名單”...
本來定時的文沒想到違規(guī)了。當我發(fā)現(xiàn)的時候已經(jīng)是半夜了。沒辦法只...