Convert Figma logo to code with AI

metersphere logometersphere

MeterSphere 是新一代的开源持续测试工具,让软件测试工作更简单、更高效,不再成为持续交付的瓶颈。

12,040
2,664
12,040
70

Top Related Projects

8,864

Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services

6,705

Modern Load Testing as Code

26,066

Write scalable load tests in plain Python 🚗💨

28,135

A modern load testing tool, using Go and JavaScript

24,194

HTTP load testing tool and library. It's over 9000!

Quick Overview

MeterSphere is an open-source, one-stop test platform that integrates API testing, performance testing, and system testing. It provides a comprehensive solution for automated testing, covering the entire testing lifecycle from test case management to result analysis.

Pros

  • All-in-one testing platform: Combines API, performance, and system testing in a single tool
  • User-friendly interface: Offers an intuitive UI for easy test creation and management
  • Extensive integration: Supports various CI/CD tools and test frameworks
  • Active community: Regular updates and improvements from a growing user base

Cons

  • Learning curve: May require time to fully utilize all features due to its comprehensive nature
  • Resource intensive: Can be demanding on system resources for large-scale performance tests
  • Limited advanced customization: Some advanced users may find certain customization options lacking

Getting Started

To get started with MeterSphere:

  1. Install Docker and Docker Compose on your system
  2. Clone the MeterSphere repository:
    git clone https://github.com/metersphere/metersphere.git
    
  3. Navigate to the project directory:
    cd metersphere
    
  4. Run the installation script:
    sh install.sh
    
  5. Access the MeterSphere web interface at http://localhost:8081
  6. Log in with the default credentials:
    • Username: admin
    • Password: metersphere

For more detailed instructions and configuration options, refer to the official documentation on the MeterSphere GitHub repository.

Competitor Comparisons

8,864

Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services

Pros of JMeter

  • Mature and widely adopted open-source load testing tool
  • Extensive plugin ecosystem and community support
  • Supports a wide range of protocols and applications

Cons of JMeter

  • Steeper learning curve for beginners
  • Resource-intensive for large-scale tests
  • Limited real-time reporting and collaboration features

Code Comparison

MeterSphere (Java):

@Test(dataProvider = "#ms.dp")
public void testDemo(String username, String password) {
    // Test logic here
}

JMeter (XML):

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group">
  <stringProp name="ThreadGroup.num_threads">10</stringProp>
  <stringProp name="ThreadGroup.ramp_time">1</stringProp>
</ThreadGroup>

MeterSphere offers a more modern, annotation-based approach for defining tests, while JMeter uses XML configuration files. MeterSphere's syntax is generally more concise and easier to read, especially for developers familiar with Java annotations. JMeter's XML configuration provides fine-grained control but can be more verbose and less intuitive for complex test scenarios.

6,705

Modern Load Testing as Code

Pros of Gatling

  • Highly scalable and efficient performance testing tool
  • Supports multiple protocols (HTTP, WebSocket, JMS)
  • Provides detailed, real-time reports and analytics

Cons of Gatling

  • Steeper learning curve, especially for non-developers
  • Limited built-in integrations compared to MeterSphere

Code Comparison

Gatling (Scala-based DSL):

scenario("My Scenario")
  .exec(http("Request")
    .get("/api/users")
    .check(status.is(200)))
  .pause(5)

MeterSphere (YAML-based configuration):

scenarios:
  - name: My Scenario
    requests:
      - url: /api/users
        method: GET
        assertions:
          - type: status
            value: 200
    think_time: 5

Key Differences

  • Language: Gatling uses Scala, while MeterSphere uses YAML for test definitions
  • Ecosystem: MeterSphere offers a more comprehensive testing platform with additional features like API testing and test management
  • Focus: Gatling specializes in performance testing, while MeterSphere aims to be an all-in-one testing solution

Both tools are powerful in their respective domains, with Gatling excelling in pure performance testing scenarios and MeterSphere offering a broader range of testing capabilities within a single platform.

26,066

Write scalable load tests in plain Python 🚗💨

Pros of Locust

  • Lightweight and easy to set up, with minimal dependencies
  • Highly scalable, supporting distributed load testing across multiple machines
  • Flexible Python-based scripting for creating complex test scenarios

Cons of Locust

  • Limited built-in reporting and visualization capabilities
  • Requires programming knowledge to create and maintain test scripts
  • Lacks a comprehensive GUI for test management and execution

Code Comparison

Locust:

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    wait_time = between(1, 5)

    @task
    def index_page(self):
        self.client.get("/")

MeterSphere:

@Test
public void testHomePage() {
    Response response = given()
        .when()
        .get("/")
        .then()
        .extract().response();
    Assert.assertEquals(200, response.getStatusCode());
}

MeterSphere offers a more comprehensive testing platform with a user-friendly interface, extensive reporting, and integration capabilities. It supports various testing types beyond just load testing. However, it may have a steeper learning curve and require more resources to set up and maintain compared to Locust.

Locust excels in simplicity and flexibility for load testing, making it ideal for developers who prefer a code-centric approach. MeterSphere is better suited for teams requiring a full-featured testing solution with broader capabilities and easier management for non-technical users.

28,135

A modern load testing tool, using Go and JavaScript

Pros of k6

  • Lightweight and efficient, designed for high-performance load testing
  • Extensive scripting capabilities using JavaScript, allowing for complex test scenarios
  • Strong integration with Grafana ecosystem for visualization and analysis

Cons of k6

  • Steeper learning curve for users not familiar with JavaScript
  • Limited built-in reporting options compared to MeterSphere's comprehensive dashboards
  • Focused primarily on load testing, while MeterSphere offers a broader range of testing types

Code Comparison

MeterSphere example (API testing):

import requests

def test_api():
    response = requests.get("https://api.example.com/data")
    assert response.status_code == 200
    assert "result" in response.json()

k6 example (load testing):

import http from 'k6/http';
import { check } from 'k6';

export default function () {
  const res = http.get('https://api.example.com/data');
  check(res, { 'status is 200': (r) => r.status === 200 });
}

Both examples demonstrate API testing, but k6's script is specifically designed for load testing scenarios, while MeterSphere's approach is more general-purpose and can be easily adapted for various testing types.

24,194

HTTP load testing tool and library. It's over 9000!

Pros of Vegeta

  • Lightweight and focused on HTTP load testing
  • Easy to use command-line interface
  • High-performance and efficient for large-scale testing

Cons of Vegeta

  • Limited to HTTP/HTTPS protocols
  • Lacks a graphical user interface
  • Fewer built-in reporting and visualization options

Code Comparison

Vegeta (Go):

rate := vegeta.Rate{Freq: 100, Per: time.Second}
duration := 5 * time.Second
targeter := vegeta.NewStaticTargeter(vegeta.Target{
    Method: "GET",
    URL:    "http://example.com",
})
attacker := vegeta.NewAttacker()

for res := range attacker.Attack(targeter, rate, duration, "Big Bang!") {
    // Process results
}

MeterSphere (Java):

TestPlan testPlan = new TestPlan();
testPlan.setProjectId(projectId);
testPlan.setName("API Test Plan");

HTTPSamplerProxy httpSampler = new HTTPSamplerProxy();
httpSampler.setDomain("example.com");
httpSampler.setPath("/api/endpoint");
httpSampler.setMethod("GET");

testPlan.addTestElement(httpSampler);
testPlanService.run(testPlan);

While Vegeta focuses on simplicity and raw performance for HTTP load testing, MeterSphere offers a more comprehensive testing platform with additional features and a user-friendly interface. Vegeta is ideal for developers who prefer command-line tools and need quick, efficient load testing, while MeterSphere caters to teams requiring a full-featured testing solution with broader protocol support and extensive reporting capabilities.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

MeterSphere

新一代的开源持续测试工具

License: GPL v3 Codacy GitHub release Stars Download Gitee Stars


MeterSphere 是新一代的开源持续测试工具,让软件测试工作更简单、更高效,不再成为持续交付的瓶颈。

  • 测试管理:从测试用例管理,到测试计划执行、缺陷管理、测试报告生成,具有远超 TestLink 等传统测试管理工具的使用体验;
  • 接口测试:集 Postman 的易用与 JMeter 的灵活于一体,接口调试、接口定义、接口 Mock、场景自动化、接口报告,你想要的都有;
  • 团队协作:采用“系统-组织-项目”分层设计理念,帮助用户摆脱单机测试工具的束缚,方便快捷地开展团队协作;
  • **插件体系**:提供各种类别的插件,用户可以按需取用,快速实现 MeterSphere 测试能力的扩展以及与 DevOps 流水线的集成。

快速开始

docker run -d -p 8081:8081 --name=metersphere -v ~/.metersphere/data:/opt/metersphere/data metersphere/metersphere-ce-allinone

# 用户名: admin
# 密码: metersphere

你也可以通过 1Panel 应用商店 快速部署 MeterSphere。

如果是内网环境,推荐使用 离线安装包方式 进行安装部署。

如你有更多问题,可以通过论坛和技术交流群与我们交流。

image

UI 展示

MeterSphere Demo1 MeterSphere Demo2
MeterSphere Demo3 MeterSphere Demo4
MeterSphere Demo5 MeterSphere Demo6
MeterSphere Demo7 MeterSphere Demo8

版本说明

MeterSphere 按年发布 LTS(Long Term Support)版本。

  • v1.10-lts:发布时间为 2021 å¹´ 5 月 27 日,目前已经停止维护;
  • v1.20-lts:发布时间为 2022 å¹´ 4 月 27 日,目前已经停止维护;
  • v2.10-lts:发布时间为 2023 å¹´ 5 月 25 日,仅进行必要的安全类 Bug 修复和严重 Bug 修复。

与 MeterSphere v1.x 和 v2.x 相比,MeterSphere v3.x 产品定位发生变化,聚焦做好测试管理和接口测试,不再提供性能测试和 UI 测试相关的功能和能力,也不支持从 v1.x 和 v2.x 版本升级到 v3.x。

MeterSphere v3.x 的版本发布计划:

  • 2024 å¹´ 5 月 30 日:发布 v3.0 beta 版本;
  • 2024 å¹´ 6 月 27 日:发布 v3.0 正式版本;
  • 2024 å¹´ 12 月 26 日:发布 v3.6-lts LTS 版本。

MeterSphere 产品版本分为社区版和企业版,详情请参见:MeterSphere 产品版本对比

技术栈

插件

  • TAPD 需求和缺陷同步插件:通过调用 TAPD 企业版本提供的 API 接口(TAPD 企业版(API)申请),将 MeterSphere 的测试用例和 TAPD 需求项进行关联,以及将 MeterSphere 和 TAPD 两个应用的缺陷进行双向同步。
  • 禅道需求和缺陷同步插件:将 MeterSphere 的测试用例和禅道需求项进行关联,以及将 MeterSphere 和禅道两个应用的缺陷进行双向同步。
  • JIRA 需求和缺陷同步插件:将 MeterSphere 的测试用例和 JIRA 需求项进行关联,以及将 MeterSphere 和 JIRA 两个应用的缺陷进行双向同步。
  • Jenkins 持续集成插件:实现在 Jenkins 流水线中触发并自动执行 MeteSphere 测试计划。
  • 自定义数据库驱动:支持对 达梦、Oracle、SQLite、Microsoft SQL Server 等数据库的连接和数据访问。
  • 接口协议插件:实现接口测试中对 TCP、Dubbo、MQTT 等协议的支持。
  • IDE 插件:MeterSphere APl Debugger 插件 是 MeterSphere 提供的 InteliJ IDEA 插件,它可以快速提取 API 特征,实时进行 API 调试并生成 API 文档,一键同步到 MeterSphere 进行管理。

飞致云的其他明星项目

  • 1Panel - 现代化、开源的 Linux 服务器运维管理面板
  • MaxKB - 基于 LLM 大语言模型的知识库问答系统
  • JumpServer - 广受欢迎的开源堡垒机
  • DataEase - 人人可用的开源数据可视化分析工具
  • Halo - 强大易用的开源建站工具

License & Copyright

Copyright (c) 2014-2025 飞致云 FIT2CLOUD, All rights reserved.

Licensed under The GNU General Public License version 3 (GPLv3) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.gnu.org/licenses/gpl-3.0.html

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.