七個開源免費API測試工具
1.Apache JMeter
https://github.com/apache/jmeter
Apache JMeter是一個開源免費功能、性能測試軟件。可以測量靜態(tài)和動態(tài)Web應(yīng)用程序的性能和負載。還可用于模擬服務(wù)器、服務(wù)器組網(wǎng)絡(luò)或?qū)ο?,以測試其強度或分析不同負載類型下的整體性能。并支持生成一個完整的動態(tài)HTML報告。
2.Selenium
https://github.com/SeleniumHQ/selenium
Selenium是一個Web應(yīng)用程序的自動化測試工具。它封裝了各種工具和 支持Web瀏覽器自動化的庫。它能夠模擬用戶與瀏覽器交互,支持用代碼實現(xiàn) W3C WebDriver規(guī)范 與大部分瀏覽器進行交互。
Selenium的核心是WebDriver, 一種用于編寫指令集的接口,通過編寫幾行代碼執(zhí)行這些指令集就可以可以控制許多瀏覽器動作。以java為例:
package dev.selenium.hello;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class HelloSelenium {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
driver.get("https://selenium.dev");
driver.quit();
}
}
3.SoapUI
https://github.com/SmartBear/soapui
SoapUI是一個開源的API測試自動化框架。它通過soap/http協(xié)議來檢查、調(diào)用、實現(xiàn)對Web服務(wù)的功能測試、負載測試、功能符合性測試。該工具既可作為一個單獨的測試軟件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。把一個或多個測試套件(TestSuite)組織成項目,每個測試套件包含一個或多個測試用例(TestCase),每個測試用例包含一個或多個測試步驟,包括發(fā)送請求、接受響應(yīng)、分析結(jié)果、改變測試執(zhí)行流程等。
4.K6
https://k6.io/
https://github.com/grafana/k6
K6是一個負載和性能測試工具,用于測試云原生應(yīng)用程序。K6提供了各種插件,便于輕松地將K6集成到現(xiàn)有的技術(shù)棧中。k6通過自定義測試場景執(zhí)行不同類型的負載測試,如:峰值測試、冒煙測試、浸泡測試等。您還可以使用k6瀏覽器模塊對前端服務(wù)執(zhí)行負載測試。
5.Tsung
https://github.com/processone/tsung
Tsung是一個負載和壓力測試工具。支持多協(xié)議分布式負載測試,支持的協(xié)議包括:HTTP、WebDAV、SOAP、 PostgreSQL、MySQL、LDAP、MQTT、AMQP和Jabber/XMPP??梢杂脕頊y試基于C/S架構(gòu)的應(yīng)用程序。
6.Testcontainers
https://testcontainers.com/
https://github.com/testcontainers/
Testcontainers是一個開源測試框架,用于測試基于Docker容器的數(shù)據(jù)庫、消息代理、Web瀏覽器等一次性輕量級實例。不需要模擬復(fù)雜的環(huán)境配置,只需要用代碼定義測試依賴,然后運行測試,就可以創(chuàng)建或者刪除容器。
7.TarsBenchmark
https://github.com/TarsCloud/TarsBenchmark
TarsBenchmark是一個用于測試微服務(wù)的工具。是專門為tars服務(wù)量身訂做的接口和壓測工具,可以集成到到 TARS microservices 框架。
包括以下特點:
- 網(wǎng)絡(luò)高性能:8核機器TPS支持超過20W/S;
- 通訊擴展性:網(wǎng)絡(luò)層支持TCP/UDP兩種協(xié)議;
- 協(xié)議擴展性:應(yīng)用層支持Http,Tars也保持對第三方協(xié)議開放;
- 完善的實時統(tǒng)計與監(jiān)控支持:提供周期內(nèi)的請求數(shù)/TPS/耗時/成功率分布;