AutoMeter 是一款針對分散式服務,微服務 API 做功能和效能一體化的自動化測試平臺,一站式提供釋出單元,API,環境,用例,前置條件,場景,計劃,報告等管理
在專案開發,迭代交付過程中開發人員,測試人員需要針對系統提供的 API 做偵錯,迴歸測試,效能測試。自動化測試,一個好的平臺本質上需要解決 API 測試的 5 大基本問題:
專案地址:
https://gitee.com/season-fan/autometer-api
QA Wolf 可幫助你以 10 倍的速度建立、執行和維護端到端的瀏覽器自動化測試。
專案地址:
https://github.com/qawolf/qawolf
Mimesis 是一個用於 Python 的高效能虛假資料生成器,它以多種語言提供用於多種用途的資料。虛假資料可用於填充測試資料庫、建立虛假 API 端點、建立任意結構的 JSON 和 XML 檔案、匿名化生產中的資料等。
支援的功能
專案地址:
https://github.com/lk-geimfari/mimesis
安裝:
pip install mimesis
範例:
>>> from mimesis import Person
>>> from mimesis.locales import Locale
>>> person = Person(Locale.EN)
>>> person.full_name()
'Brande Sears'
>>> person.email(domains=['example.com'])
'[email protected]'
>>> person.email(domains=['mimesis.name'], unique=True)
'[email protected]'
>>> person.telephone(mask='1-4##-8##-5##3')
'1-436-896-5213'
Ddosify 是一個用 Golang 編寫的高效能負載測試工具和 DDOS 攻擊模擬。
特性:
專案地址:
https://github.com/ddosify/ddosify
AutoCannon 是一個用 Node.js 編寫的 HTTP/1.1 基準測試工具,受到 wrk 和 wrk2 的極大啟發,支援 HTTP 管道和 HTTPS。autocannon 可以產生比 wrk 和 wrk2 更多的負載。
專案地址:
https://github.com/mcollina/autocannon
Sharingan(寫輪眼)是一個基於 golang 的流量錄製回放工具,適合專案重構、迴歸測試等。
特性
專案地址:
https://github.com/didi/sharingan
使用範例:
# Step1: 下載sharingan專案
$ git clone https://github.com/didi/sharingan.git
$ cd sharingan
# Step2: 使用客製化版golang,以go1.13為例
$ sh install.sh go1.13 # 支援go1.10 ~ go1.15,限mac、linux amd64系統
$ export GOROOT=/tmp/recorder-go1.13
$ export PATH=$GOROOT/bin:$PATH
# Step3: 編譯、後臺啟動replayer-agent「預設會佔用3515、8998埠,可修改」
# [回放接入檔案]內有直接下載bin檔案的連結,無需build
$ cd replayer-agent
$ go build
$ nohup ./replayer-agent >> run.log 2>&1 &
# Step4: 編譯、後臺啟動example範例「預設會佔用9999埠,可修改」
$ cd ../example
$ go build -tags="replayer" -gcflags="all=-N -l"
$ nohup ./example >> run.log 2>&1 &
# Step5: 開啟回放頁面
$ 瀏覽器開啟,http://127.0.0.1:8998 # 非本機替換IP即可
$ 頁面選擇要回放的流量點執行 # 內建提前錄製好的3條example範例流量
randdata 是一款基於 JAVA 開發的測試資料生成工具,為了測試人員、軟體開發人員、資料開發人員、售前工程師或產品經理演示提供生成隨機相應資料的全力打造的,支援個人資訊、地址、數位、網路、銀行、是非等多種資料的隨機生成,無需使用者再去編寫複雜 SQL 或程式就能生成附合中國人習慣的資料。從而大大的節約軟體開發的成本。
特點:
專案地址:
https://gitee.com/chenlinux0768/randdata
DrissionPage,即 driver 和 session 的合體,是一個基於 python 的 Web 自動化操作整合工具。
requests 爬蟲面對要登入的網站時,要分析封包、JS 原始碼,構造複雜的請求,往往還要應付驗證碼、JS 混淆、簽名引數等反爬手段,門檻較高。若資料是由 JS 計算生成的,還須重現計算過程,體驗不好,開發效率不高。使用 selenium,則可以很大程度上繞過這些坑,但 selenium 效率不高。
因此,這個庫將 selenium 和 requests 合二為一,不同需要時切換相應模式,並提供一種人性化的使用方法,提高開發和執行效率。除了合併兩者,本庫還以網頁為單位封裝了常用功能,簡化了 selenium 的操作和語句,在用於網頁自動化操作時,減少考慮細節,專注功能實現,使用更方便。
特性
專案地址:
https://gitee.com/g1879/DrissionPage
Chaos Mesh 是一個雲原生的混沌工程(Chaos Engineering)平臺,可在 Kubernetes 環境中進行混沌測試。
當前實現支援用於故障注入的主要操作:
專案地址:
https://gitee.com/mirrors/Chaos-Mesh
Automagica 是一個開源智慧機器人流程自動化(SRPA,Smart Robotic Process Automation)平臺,藉助 Automagica,自動化跨平臺流程變得輕而易舉。Automagica 可以通過簡單程式指令碼實現開啟各種應用程式並對應用進行操作。
Automagica 需要 Python 3.7 環境,官方支援 Windows 10 平臺,Linux 和 Mac 目前官方還不支援。
專案地址:
https://github.com/OakwoodAI/Automagica
https://gitee.com/mirrors/Automagica
Automagica 使用場景:
例如:
開啟 Excel 並進行程式控制:
開啟畫圖工具並進行繪圖:
範例程式碼
該範例開啟 Windows 記事本並輸入 'Hello world!'.
PressHotkey('win','r')
Wait(seconds=1)
Type(text='notepad', interval_seconds=0)
PressKey('enter')
Wait(seconds=2)
Type(text='Hello world!', interval_seconds=0.15)
下面例子開啟 Chrome 瀏覽器並存取指定url
browser = ChromeBrowser()
browser.get('https://www.cnblogs.com/jinjiangongzuoshi/')