{"id":25776328,"url":"https://github.com/arextest/arex-agent-java","last_synced_at":"2026-01-24T17:36:21.461Z","repository":{"id":37865991,"uuid":"481930455","full_name":"arextest/arex-agent-java","owner":"arextest","description":"Lightweight Java agent for traffic capture and replay, enhancing testing and debugging.","archived":false,"fork":false,"pushed_at":"2025-12-04T09:58:36.000Z","size":3280,"stargazers_count":532,"open_issues_count":74,"forks_count":127,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-12-07T17:42:32.276Z","etag":null,"topics":["api-testing","devops","java","javaagent","qa","regression-testing","test-automation","test-generation","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://doc.arextest.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arextest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-15T11:02:00.000Z","updated_at":"2025-12-04T10:05:48.000Z","dependencies_parsed_at":"2023-02-16T19:31:16.194Z","dependency_job_id":"d733df81-1e2c-4415-ae7b-bafd04270675","html_url":"https://github.com/arextest/arex-agent-java","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/arextest/arex-agent-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arextest%2Farex-agent-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arextest%2Farex-agent-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arextest%2Farex-agent-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arextest%2Farex-agent-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arextest","download_url":"https://codeload.github.com/arextest/arex-agent-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arextest%2Farex-agent-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28732748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-testing","devops","java","javaagent","qa","regression-testing","test-automation","test-generation","testing","testing-tools"],"created_at":"2025-02-27T06:01:21.585Z","updated_at":"2026-01-24T17:36:21.428Z","avatar_url":"https://github.com/arextest.png","language":"Java","readme":"[![Build Status](https://github.com/arextest/arex-agent-java/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/arextest/arex-agent-java/actions/workflows/build.yml)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=arextest_arex-agent-java\u0026metric=coverage)](https://sonarcloud.io/summary/overall?id=arextest_arex-agent-java)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=arextest_arex-agent-java\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=arextest_arex-agent-java)\n\n# \u003cimg src=\"https://avatars.githubusercontent.com/u/103105168?s=200\u0026v=4\" alt=\"Arex Icon\" width=\"27\" height=\"\"\u003e AREX\n\n#### An Open Source Testing Framework with Real World Data\n\n- [Introduction](#introduction)\n- [Building](#building)\n- [Getting Started](#getting-started)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Introduction\n\n\nAs your application evolves more complex, the effort required to thoroughly test against it also becomes tremendous. Arex is a framework designed around a quite straightforward principle of leveraging your real world data(i.e. database record, service payload, cache items etc.) for regression testing. Simple is powerful. The idea behind makes it incredibly powerful.\n\nAREX provides an out-of-box agent file that could be attached to any applications with Java 8+ and dynamically weaves solid  bytecode into your existing code to record the real data of live traffic, and further use and replay it for mocking, testing, and debugging purpose.\n\nAREX is implemented with an unique mechanism for recording. Instead of being a proxy like other similar framework, `AREX` sits in the background without awareness of your application to record realistic data in live traffic which means that no intrusive code changes are required when integrating it to your existing application.\n\nAREX utilizes the advanced Java technique, Instrument API, and is capable of instrumenting various libraries and frameworks which are widely used.\n\n**Libraries and frameworks supported by Arex (to be added...)**\n[maven version range rules](https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html)\n\n#### Foundation\n- Java Executors\n- System time\n- Dynamic Type\n#### Cache Library\n- Caffeine Cache\n- Guava Cache\n- Spring Cache\n#### Spring\n- Spring Boot [1.4+, 2.x+]\n- Servlet API 3+、5+\n#### Http Client\n- Apache HttpClient [4.0,)\n- OkHttp [3.0, 4.11]\n- Feign [9.0,)\n- Spring OpenFeign\n- Spring RestTemplate\n- Spring WebClient [5.0,)\n- [ning/async-http-client](https://github.com/ning/async-http-client)\n- Elasticsearch Client [7.x,)\n#### Redis Client\n- RedisTemplate\n- Jedis [2.10+, 4+]\n- Redisson [3.0,)\n- Lettuce [5.x, 6.x]\n#### Persistence framework\n- MyBatis 3.x, MyBatis-Plus, TkMyBatis\n- Hibernate 5.x\n#### NoSQL\n- MongoDB [3.x, 4.x]\n#### RPC\n- Apache Dubbo [2.x, 3.x]\n- Alibaba Dubbo 2.x\n#### Auth\n- Spring Security 5.x\n- Apache Shiro 1.x\n- JCasbin 1.x\n- Auth0 jwt 3.x\n- JWTK jjwt 0.1+、jjwt-api 0.10+\n#### Netty\n- Netty http server [3.x, 4.x]\n#### Config\n- Apollo Config [1.x, 2.x]\n\n## Building\n\nSimply download the latest binary from [releases](https://github.com/arextest/arex-agent-java/releases) \nor build the artifacts with the following commands. The build process supports JDK 8 - 21.\n\n`mvn clean install -DskipTests`\n\nThe `arex-agent.jar` is in the folder `arex-agent-jar/` after the build process.\n\nIf you wanna jar with version, build the artifacts with the following commands. \n\n`mvn clean install -DskipTests -Pjar-with-version`\n\n\n## Getting Started\n\n\n***Enable the instrumentation agent by configuring a `javaagent` flag to the JVM to run arex：***\n\nAREX agent works along with the [AREX storage service](https://github.com/arextest/arex-storage).\n\nYou could just configure the host and port of them respectively, like below\n\n```other\njava -javaagent:/path/to/arex-agent.jar -Darex.service.name=my-service-name -Darex.storage.service.host=\u003cstorage.service.host:port\u003e -jar my-application.jar\n```\n\n\nAlternatively, you can put those configuration item in `arex.agent.conf` file, like below\n\n```other\narex.service.name=my-service-name\narex.storage.service.host=\u003cstorage.service.host:port\u003e \n```\n\n\nThen simply run:\n\n```other\njava -javaagent:/path/to/arex-agent.jar -Darex.config.path=/path/to/arex.agent.conf -jar my-application.jar\n```\n\n\n***Also, You can Run with CLI in local mode:***\n\nPlease refer to : [AREX standalone mode](https://github.com/arextest/arex-standalone).\n\n\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch\n3. Commit your code changes and push to your feature branch\n4. Create a new Pull Request\n\n\n## License\n- Code: [Apache-2.0](https://github.com/arextest/arex-agent-java/blob/main/LICENSE)\n","funding_links":[],"categories":["测试"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farextest%2Farex-agent-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farextest%2Farex-agent-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farextest%2Farex-agent-java/lists"}