{"_id":"@arkxos/choerodon-testmanager","_rev":"3-b93ab92d29005d7ba647ae1d152fa81e","name":"@arkxos/choerodon-testmanager","dist-tags":{"latest":"2.0.2"},"versions":{"2.0.1":{"name":"@arkxos/choerodon-testmanager","version":"2.0.1","author":"","license":"ISC","_id":"@arkxos/choerodon-testmanager@2.0.1","maintainers":[{"name":"arkxos","email":"arkxos@qq.com"}],"dist":{"shasum":"21cf973ae265bfcac971b69a2ef846f6f709e067","tarball":"https://registry.npmjs.org/@arkxos/choerodon-testmanager/-/choerodon-testmanager-2.0.1.tgz","fileCount":485,"integrity":"sha512-ZGm0lpElGWwhd2ibmnxSS2wE1zW9vQ7yBPa0cvom3CHmfKCZ7h1iPF6JuVL7KdO5rNRQYr4Cf4p/lvRjs8huBQ==","signatures":[{"sig":"MEUCIBO8r70gzxVRL5w+2kOYv7wsv8P/6AtFyaoUdAx8sTn6AiEAwYOv3Qak+2TWbDCd0j8LVO3slfqVcq7uMRK3YE65oLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151265},"main":"./lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"264f53b7e15cc028d27214348ae64a0fc1b4686b","install":"./lib/install.js","scripts":{"dist":"choerodon-front-boot dist --config ./react/config.js","start":"node --max_old_space_size=4096 node_modules/@arkxos/choerodon-boot/bin/choerodon-front-boot-start --config ./react/config.js","watch":"compiler compile --watch --ignore-error","compile":"choerodon-front-boot compile","lint-staged":"lint-staged","lint-staged:es":"eslint"},"_npmUser":{"name":"arkxos","email":"arkxos@qq.com"},"routeName":"testManager","_npmVersion":"10.8.2","description":" ","directories":{},"lint-staged":{"react/**/*.scss":"stylelint --syntax scss","react/**/*.{js,jsx}":["npm run lint-staged:es"]},"resolutions":{"react":"16.14.0","react-dom":"16.14.0"},"_nodeVersion":"20.19.0","dependencies":{"uuid":"^3.3.3","jspdf":"^2.3.0","ahooks":"^2.9.2","jquery":"^3.5.1","yamljs":"^0.3.0","echarts":"^4.1.0","file-saver":"^1.3.8","webuploader":"^0.1.8","moment-range":"^4.0.1","shallowequal":"^1.1.0","timeago-react":"2.0.0","@atlaskit/tree":"^7.0.2","react-codemirror":"^1.0.0","echarts-for-react":"^2.0.14","react-fast-compare":"^2.0.4","quill-delta-to-html":"^0.8.4","react-beautiful-dnd":"^9.0.2","react-image-lightbox":"^4.6.0","react-onclickoutside":"^6.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.6.0","@types/react":"^16.9.35","babel-eslint":"8.x","@types/lodash":"^4.14.165","@types/echarts":"^4.6.5","@types/react-dom":"^16.9.8","babel-preset-c7n":"0.0.2","@types/file-saver":"^2.0.2","@types/react-intl":"^2.3.18","@choerodon/compiler":"^0.0.1","@types/react-router":"^5.1.8","eslint-plugin-react":"^7.20.5","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.22.0","eslint-config-c7n-app":"^0.0.2","@arkxos/choerodon-boot":"1.2.1","eslint-plugin-jsx-a11y":"^6.3.1","@arkxos/choerodon-agile":"2.0.4","@types/react-router-dom":"^5.1.5","@arkxos/choerodon-master":"1.4.2","@typescript-eslint/parser":"^3.7.1","eslint-plugin-react-hooks":"^4.0.8","babel-plugin-module-resolver":"^3.2.0","@typescript-eslint/eslint-plugin":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/choerodon-testmanager_2.0.1_1763904089867_0.6265471267209966","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@arkxos/choerodon-testmanager","version":"2.0.2","author":"","license":"ISC","_id":"@arkxos/choerodon-testmanager@2.0.2","maintainers":[{"name":"arkxos","email":"arkxos@qq.com"}],"dist":{"shasum":"3cf451c7dabee5b39bb36ae7839c496792522858","tarball":"https://registry.npmjs.org/@arkxos/choerodon-testmanager/-/choerodon-testmanager-2.0.2.tgz","fileCount":485,"integrity":"sha512-1XJbJ1kJrzbSKqVBKZWkOWOjDj+hLjxPnbcpOqK7anPuQWxwn9fpiNku6yqwH0AtJF0OIb4AIEhfPMm3/Qq40g==","signatures":[{"sig":"MEUCIGJuSTMyCxJRIZI71XhkBpW8F1irtEfIxTvbRtd1V3AtAiEA0/doygsTJPykwQNsQP3pl9MZbhFkWFlfhsc7jFTb4Fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151657},"main":"./lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"264f53b7e15cc028d27214348ae64a0fc1b4686b","install":"./lib/install.js","scripts":{"dist":"choerodon-front-boot dist --config ./react/config.js","start":"node --max_old_space_size=4096 node_modules/@arkxos/choerodon-boot/bin/choerodon-front-boot-start --config ./react/config.js","watch":"compiler compile --watch --ignore-error","compile":"choerodon-front-boot compile","lint-staged":"lint-staged","lint-staged:es":"eslint"},"_npmUser":{"name":"arkxos","email":"arkxos@qq.com"},"routeName":"testManager","_npmVersion":"10.8.2","description":" ","directories":{},"lint-staged":{"react/**/*.scss":"stylelint --syntax scss","react/**/*.{js,jsx}":["npm run lint-staged:es"]},"resolutions":{"react":"16.14.0","react-dom":"16.14.0"},"_nodeVersion":"20.19.0","dependencies":{"uuid":"^3.3.3","jspdf":"^2.3.0","ahooks":"^2.9.2","jquery":"^3.5.1","yamljs":"^0.3.0","echarts":"^4.1.0","file-saver":"^1.3.8","webuploader":"^0.1.8","moment-range":"^4.0.1","shallowequal":"^1.1.0","timeago-react":"2.0.0","@atlaskit/tree":"^7.0.2","react-codemirror":"^1.0.0","echarts-for-react":"^2.0.14","react-fast-compare":"^2.0.4","quill-delta-to-html":"^0.8.4","react-beautiful-dnd":"^9.0.2","react-image-lightbox":"^4.6.0","react-onclickoutside":"^6.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.6.0","@types/react":"^16.9.35","babel-eslint":"8.x","@types/lodash":"^4.14.165","@types/echarts":"^4.6.5","@types/react-dom":"^16.9.8","babel-preset-c7n":"0.0.2","@types/file-saver":"^2.0.2","@types/react-intl":"^2.3.18","@choerodon/compiler":"^0.0.1","@types/react-router":"^5.1.8","eslint-plugin-react":"^7.20.5","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.22.0","eslint-config-c7n-app":"^0.0.2","@arkxos/choerodon-boot":"1.2.1","eslint-plugin-jsx-a11y":"^6.3.1","@arkxos/choerodon-agile":"2.0.4","@types/react-router-dom":"^5.1.5","@arkxos/choerodon-master":"1.4.2","@typescript-eslint/parser":"^3.7.1","eslint-plugin-react-hooks":"^4.0.8","babel-plugin-module-resolver":"^3.2.0","@typescript-eslint/eslint-plugin":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/choerodon-testmanager_2.0.2_1763917530633_0.24506141928499603","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-11-23T13:21:29.403Z","modified":"2026-01-08T09:37:33.090Z","2.0.1":"2025-11-23T13:21:30.070Z","2.0.2":"2025-11-23T17:05:30.906Z"},"license":"ISC","description":" ","maintainers":[{"email":"arkxos@qq.com","name":"arkxosboot"}],"readme":"# 测试管理服务\r\n`Test Manager Service` 是猪齿鱼核心服务之一 ，该服务是Choerodon微服务框架的测试管理中心。它的主要功能包括测试用例管理、测试循环、测试报表分析、自动化测试等。\r\n\r\n## 特点\r\n- **测试用例**（创建、查看和编辑测试用例、测试用例树、excel导入和导出等）\r\n- **测试计划**（创建测试循环、测试阶段以及批量克隆循环等）\r\n- **测试执行**（执行测试、搜索执行、记录步骤结果、查看执行测试详情、删除执行）\r\n- **自定义状态**（状态列表，创建状态）\r\n- **自动化测试**（自动化模板包括：`mocha`、`testNG`、`selenium`，编写测试内容，执行自动化测试，查看测试结果）\r\n- **设置**（自定义状态）\r\n\r\n## 依赖\r\n- Java8\r\n- mysql 5.6+\r\n- redis 4.0+\r\n- [File Service](https://github.com/choerodon/file-service.git)\r\n- [go-register-server](https://github.com/choerodon/go-register-server.git)\r\n- [agile-service](https://github.com/choerodon/agile-service.git)\r\n- [Iam Service](https://github.com/choerodon/iam-service.git)\r\n- [DevOps Service](https://github.com/choerodon/devops-service.git)\r\n- [Redis](https://redis.io)\r\n- [MySQL](https://www.mysql.com)\r\n\r\n\r\n## 服务配置\r\n\r\n- `application.yml`\r\n```yaml\r\nspring:\r\n  datasource:\r\n    url: jdbc:mysql://localhost:3306/test_manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true\r\n    username: choerodon\r\n    password: 123456\r\n  aop:\r\n    auto: true\r\n  http:\r\n    encoding:\r\n      charset: UTF-8\r\n      force: true\r\n      enabled: true\r\n  redis:\r\n    host: localhost\r\n    port: 6379\r\n  servlet:\r\n    multipart:\r\n      max-file-size: 30MB\r\n      max-request-size: 30MB\r\nchoerodon:\r\n  saga:\r\n    consumer:\r\n      enabled: true # 是否启用消费端\r\n      thread-num: 5  # 消费线程数\r\n      max-poll-size: 200 # 每次拉取的最大消息数量\r\n      poll-interval-ms: 1000 # 拉取消息的间隔(毫秒)，默认1000毫秒\r\n  schedule:\r\n    consumer:\r\n      enabled: true # 启用任务调度消费端\r\n      thread-num: 1 # 任务调度消费线程数\r\n      poll-interval-ms: 1000 # 拉取间隔，默认1000毫秒\r\neureka:\r\n  instance:\r\n    preferIpAddress: true\r\n    leaseRenewalIntervalInSeconds: 1\r\n    leaseExpirationDurationInSeconds: 3\r\n  client:\r\n    serviceUrl:\r\n      defaultZone: http://localhost:8000/eureka/\r\n    registryFetchIntervalSeconds: 1\r\nmybatis:\r\n  mapperLocations: classpath*:/mapper/*.xml\r\n  configuration:\r\n    mapUnderscoreToCamelCase: true\r\nfeign:\r\n  hystrix:\r\n    shareSecurityContext: true\r\n    command:\r\n      default:\r\n        execution:\r\n          isolation:\r\n            thread:\r\n              timeoutInMilliseconds: 30000\r\nribbon:\r\n  ConnectTimeout: 5000\r\n  ReadTimeout: 5000\r\nlogging:\r\n  level:\r\n    root: info\r\n    io.choerodon.test.manager: debug\r\n```\r\n\r\n- `bootstrap.yml`\r\n```yaml\r\nserver:\r\n  port: 8093\r\nspring:\r\n  application:\r\n    name: test-manager-service\r\n  cloud:\r\n    config:\r\n      failFast: true\r\n      retry:\r\n        maxAttempts: 6\r\n        multiplier: 1.5\r\n        maxInterval: 2000\r\n      uri: localhost:8010\r\n      enabled: false\r\n  mvc:\r\n    static-path-pattern: /**\r\n  resources:\r\n    static-locations: classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources,file:/dist\r\nmanagement:\r\n  server:\r\n    port: 8094\r\n  endpoints:\r\n    web:\r\n      exposure:\r\n        include: '*'\r\n  endpoint:\r\n    health:\r\n      show-details: \"ALWAYS\"\r\n```\r\n\r\n## 安装和启动步骤\r\n\r\n- 运行 `eureka-server`，[代码在这里](https://code.choerodon.com.cn/choerodon-framework/eureka-server.git)。\r\n\r\n\r\n- 拉取当前项目到本地\r\n```shell\r\n git clone https://code.choerodon.com.cn/choerodon-agile/test-manager-service.git\r\n```\r\n\r\n- 初始化数据库，本地创建 `test-manager-service` 数据表，代码如下：\r\n\r\n  ```sql\r\n  CREATE USER 'choerodon'@'%' IDENTIFIED BY \"123456\";\r\n  CREATE DATABASE test_manager_service DEFAULT CHARACTER SET utf8;\r\n  GRANT ALL PRIVILEGES ON test_manager_service.* TO choerodon@'%';\r\n  FLUSH PRIVILEGES;\r\n  ```\r\n\r\n- 初始化 `test-manager-service` 数据表数据，运行项目根目录下的 `init-local-database.sh`，该脚本默认初始化数据库的地址为 `localhost`，若有变更需要修改脚本文件\r\n\r\n  ```sh\r\n  sh init-local-database.sh\r\n  ```\r\n\r\n- 启动项目，项目根目录下运行 `mvn clean spring-boot:run` 命令，或者在本地集成环境中运行 `SpringBoot` 启动类 `/src/main/java/io/choerodon/buzz/TestManagerServiceApplication.java`\r\n\r\n## 报告问题\r\n如果你发现任何缺陷或者bugs，请在[issue](https://github.com/choerodon/choerodon/issues/new?template=issue_template.md)上面描述并提交给我们。\r\n\r\n## 贡献\r\n我们十分欢迎您的参与！ [Follow](https://github.com/choerodon/choerodon/blob/master/CONTRIBUTING.md) 去获得更多关于提交贡献的信息。\r\n\r\n\r\n\r\n","readmeFilename":"README.zh.md"}