All Projects → beetlex-io → Webapibenchmark

beetlex-io / Webapibenchmark

Licence: apache-2.0
Web api management and performance testing tools

Projects that are alternatives of or similar to Webapibenchmark

Openrunner
Computest Openrunner: Benchmark and functional testing for frontend-heavy web applications
Stars: ✭ 16 (-88.81%)
Mutual labels:  testing-tools, performance-testing
JUnitPerf
API performance testing framework built using JUnit
Stars: ✭ 48 (-66.43%)
Mutual labels:  testing-tools, performance-testing
AutoMeter-API
AutoMeter-API是一款针对分布式服务,微服务API功能和性能一体的自动化测试平台,一站式解决应用,服务,API,环境管理,用例,条件,测试场景,计划,测试报告,功能/性能测试兼容支持的一体化工作平台
Stars: ✭ 105 (-26.57%)
Mutual labels:  testing-tools, performance-testing
Awesome K6
A curated list of resources on automated load- and performance testing using k6 🗻
Stars: ✭ 78 (-45.45%)
Mutual labels:  performance-testing, testing-tools
Suman
🌇 🌆 🌉 Advanced, user-friendly, language-agnostic, super-high-performance test runner. http://sumanjs.org
Stars: ✭ 57 (-60.14%)
Mutual labels:  performance-testing, testing-tools
Awesome Test Automation
A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by http://sdclabs.com
Stars: ✭ 4,712 (+3195.1%)
Mutual labels:  performance-testing, testing-tools
rfswarm
Robot Framework Swarm
Stars: ✭ 68 (-52.45%)
Mutual labels:  testing-tools, performance-testing
Kiwi
the leading open source test management system
Stars: ✭ 607 (+324.48%)
Mutual labels:  management, testing-tools
Wedgetail
Time your functions in your tests
Stars: ✭ 74 (-48.25%)
Mutual labels:  performance-testing, testing-tools
Dynamometer
A tool for scale and performance testing of HDFS with a specific focus on the NameNode.
Stars: ✭ 122 (-14.69%)
Mutual labels:  performance-testing, testing-tools
Benchmark Operator
The Chuck Norris of cloud benchmarks
Stars: ✭ 130 (-9.09%)
Mutual labels:  performance-testing
Hoverfly Java
Java binding for Hoverfly
Stars: ✭ 130 (-9.09%)
Mutual labels:  testing-tools
Sltbench
C++ benchmark tool. Practical, stable and fast performance testing framework.
Stars: ✭ 137 (-4.2%)
Mutual labels:  testing-tools
Idempiere
iDempiere. Community Powered Enterprise. Full Open Source Business Suite ERP/CRM/MFG/SCM/POS
Stars: ✭ 137 (-4.2%)
Mutual labels:  management
Adam
Coroutine-friendly Android Debug Bridge client written in Kotlin
Stars: ✭ 129 (-9.79%)
Mutual labels:  testing-tools
Kotlin Faker
Generate realistically looking fake data such as names, addresses, banking details, and many more, that can be used for testing and data anonymization purposes.
Stars: ✭ 136 (-4.9%)
Mutual labels:  testing-tools
Tiddlyresearch
Local and Anki-compatible note-taking tool based on TiddlyWiki
Stars: ✭ 129 (-9.79%)
Mutual labels:  management
Superagent Mocker
Pretty simple in-browser mocks for CRUD and REST API
Stars: ✭ 127 (-11.19%)
Mutual labels:  testing-tools
Scott
Never debug a test again: Detailed failure reports and hassle free assertions for Java tests - Power Asserts for Java
Stars: ✭ 125 (-12.59%)
Mutual labels:  testing-tools
Zunit
A powerful testing framework for ZSH projects
Stars: ✭ 140 (-2.1%)
Mutual labels:  testing-tools

Web api benchmark

说到WebApi管理和测试工具其实已经非常多的了,Postman、Swagger等在管理和维护上都非常出色;在性能测试方面也有不少的工具如:wrk,bombardier,http_load和ab等等。不过这些工具都具有单一性,管理和维护好的在性能测试上比较低效,对于性能测试好的在管理和维护上不理想!以下主要介绍一款基于dotnet core开发的WebApiBenchmarks工具,这个工具可以对webapi进行管理和维护并提供高效的性能测试能力,接下来来先预览一下这个小工具再进行详细介绍。

docker

docker pull ikende/beetlex_webapi_benchmark:v0.8.6
http://host:9090/

0.8.2

header不进行url编码,非80端口的host添加相应端口

0.7

添加测试用例名称,优先显示名称;添加返回结果json格式化;添加导出和导入功能;

0.6.8

调整测试用例树刷新问题,添加状态明细查看,修复测试后没有释放连接问题

0.6

添加明细百分比显示

功能

  • 支持简单的服务管理,可以随时对不同服务的API进行单元和压力测试
  • 支持分类的方式管理测试用例,用例支持定义GET,POST,DELETE和PUT等操作的定义
  • 提供高效的性能测试支持,在4核的PC上可以达到200k rps的测试效能;
  • 支持多API同时压测,并显示相关性能指标数据进行参考和对比

部署

工具可以运行在安装有.net core 2.1或更高版本的Linux和Windows下,工具以http服务的方式启动,通过浏览器访问进行相关操作。

运行

  • linux
dotnet BeetleX.WebApiBenchmarks.dll

or

./webapibenchmark.sh
  • windows
dotnet BeetleX.WebApiBenchmarks.dll

or

webapibenchmark.bat

端口冲突

工具默认使用9090端口,如果端口被占则无法启用服务,这个时候需要修改HttpConfig.json文件中的端口配置

    "Host": "",
    "Port": 9090,
    "SSL": false,

打开工具

工具运行后可以浏览器访问相关地址打开工具,本机访问http://localhost:9090/其他电脑访问http://ipaddress:9090/

添加服务地址

工具可以维护多个服务地址,所有的测试都必须选择对应的地址才能运行测试。

地址必须是一个可用的http服务Url

添加测试用例

工具支持GET,POST,DELETE和PUT请求定义,可以根据实际情况定义QueryString和Header值,并针对POST和PUT设置相应的Body内容。具体操作界面如下:

在编辑界面下面有个测试按钮,可以即刻测试API的调用情况;选择相应的服务地址点击测试即可在下方看到完整的返回结果:

批量单元测试

工具支持批量执行测试用例,并在测试用例上显示具体的执行结果;只要选择需要测试的用例点击单元测试即可:

性能测试

性能测试是组件提供的最重要功能,为了确保性能测试的效率;组件重写了一个轻量化的HttpClient,通过这个HttpClient即使在低配置的电脑上也可以进行高效率的压力测试。测试前需要选择相应的服务地址和单元测试用例

测试参数设置

工具提供两种测试方式,分别是基于时间和总请求数据,选择对应的测试方式设置相应的测试数值即可;用户数是指同时请求的数量,工具限制设置最大2000,设置完成后点击开始按钮即可进行测试

测试结果

工具会实时反映测试的情况,主要包括HTTP响应状态和响应延时分布情况,如果同时压测多个API,则明细里会实时显示每个API的响应状态和响应延时情况。具体如下:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].