Hoppscotch CLI là một công cụ miễn phí, mã nguồn mở cho phép chạy các bộ sưu tập API từ terminal. Nếu bạn đã sử dụng Hoppscotch trên web hoặc máy tính để bàn, hopp test cho phép bạn đưa các yêu cầu đó vào một pipeline CI mà không phải trả bất kỳ chi phí nào. Đó là một điểm mạnh thực sự, và bài viết này sẽ không giả vờ bỏ qua điều đó.
Nhưng Hoppscotch CLI cũng được thiết kế chuyên biệt. Nó chạy các bộ sưu tập và báo cáo kết quả. Nó không thiết kế API, giả lập, lập tài liệu hay quản lý chúng dưới dạng mã. Vì vậy, nhiều nhóm đến một lúc nào đó muốn một công cụ duy nhất làm được nhiều hơn là chỉ thực thi một tệp JSON, hoặc họ gặp phải một vấn đề như yêu cầu Node v22 và bắt đầu tìm kiếm các giải pháp khác.
Hoppscotch CLI thực sự làm gì
Hoppscotch CLI được phát hành dưới dạng gói npm @hoppscotch/cli. Bạn cài đặt nó trên toàn cầu:
npm i -g @hoppscotch/cli
Một điều cần biết trước: nó cần Node.js v22 trở lên. Nếu bạn đang mắc kẹt ở Node 20, bạn sẽ phải dùng CLI v0.26.0, điều này có thể làm phức tạp một hình ảnh CI dùng chung nơi các công việc khác sử dụng phiên bản Node cũ hơn.
Lệnh cốt lõi là hopp test. Bạn trỏ nó đến một tệp bộ sưu tập (hoặc ID bộ sưu tập đám mây) và nó sẽ chạy mọi yêu cầu theo thứ tự:
hopp test ./collection.json -e ./environment.json -d 500
Đối với các phiên bản đám mây hoặc tự host, bạn truyền ID cùng với thông tin xác thực:
hopp test <collection-id> -e <environment-id> --token <access_token> --server <server-url>
Nó thực thi các script trước yêu cầu và script kiểm thử (các bộ pw.test(), các trường hợp pw.expect()), xác thực phản hồi và thoát với mã không bằng 0 nếu bất kỳ khẳng định nào thất bại. Nó cũng hỗ trợ --reporter-junit <path> cho JUnit XML, cùng với --iteration-count và --iteration-data <csv> cho các lần chạy dựa trên dữ liệu. Đó là một công cụ chạy miễn phí thực sự có năng lực.
Tại sao các nhóm tìm kiếm một giải pháp thay thế hopp test
Lý do mọi người tìm kiếm một giải pháp thay thế Hoppscotch CLI thường mang tính thực tế, không phải tư tưởng:
- Nó chỉ là một công cụ chạy bộ sưu tập, không hơn. Thiết kế, giả lập và lập tài liệu tồn tại ở nơi khác. Bạn sẽ phải ghép nhiều công cụ lại với nhau.
- Bạn phải xuất JSON trước. Các đặc tả và môi trường được nhập dưới dạng các tệp bộ sưu tập/môi trường đã xuất (hoặc ID đám mây). Không có tính năng linting đặc tả hay lớp thiết kế trong chính CLI.
- Yêu cầu Node v22. Mới hơn so với mặc định của nhiều image build, điều này có nghĩa là phải điều chỉnh phiên bản bổ sung.
- Không có quy trình làm việc spec-as-code. Bạn không thể quản lý các endpoint, schema hoặc nhánh từ CLI. CLI phụ thuộc vào nơi bạn đã định nghĩa API.
Không điều nào trong số đó làm Hoppscotch trở nên tệ. Nó chỉ làm cho nó trở thành một công cụ tập trung. Nếu bạn muốn phạm vi rộng hơn, đây là những lựa chọn thay thế đáng để bạn dành thời gian.
1. Apidog CLI (giải pháp thay thế tất cả trong một tốt nhất)
Apidog là một nền tảng API tất cả trong một bao gồm thiết kế, gỡ lỗi, giả lập, lập tài liệu và kiểm thử. Apidog CLI đưa khía cạnh kiểm thử và quản lý tài nguyên vào terminal và CI/CD, điều này làm cho nó trở thành một giải pháp thay thế mạnh mẽ cho một công cụ chạy bộ sưu tập độc lập.
Với apidog run, bạn thực thi các kịch bản kiểm thử và bộ sưu tập từ dòng lệnh. Nó hỗ trợ kiểm thử dựa trên dữ liệu thông qua -d (tập dữ liệu CSV hoặc JSON), môi trường qua -e, các trình báo cáo ở định dạng CLI, HTML và JSON, cũng như các báo cáo kiểm thử đám mây với --upload-report. Ngoài việc chạy kiểm thử, CLI có thể nhập OpenAPI và quản lý tài nguyên API, endpoint, schema, môi trường, nhánh và yêu cầu hợp nhất (merge requests), dưới dạng mã. Vì vậy, định nghĩa API và các kiểm thử của bạn sống trong cùng một hệ thống thay vì được xuất qua lại.
Để chính xác về phạm vi: Apidog xác thực các đặc tả khi nhập, nhưng nó không cung cấp một công cụ linting OpenAPI độc lập hoặc lệnh split/join/bundle. Nếu mục tiêu của bạn là linting đặc tả thuần túy trong CI, inso (bên dưới) sẽ phù hợp hơn. Mục tiêu của Apidog là tích hợp, bạn thiết kế, giả lập, lập tài liệu và kiểm thử ở một nơi, sau đó điều khiển các lớp kiểm thử và tài nguyên từ CLI.
Ưu điểm:
- Một nền tảng cho thiết kế, giả lập, tài liệu và kiểm thử thay vì một chuỗi công cụ
- Chạy dựa trên dữ liệu với các tập dữ liệu CSV/JSON
- Trình báo cáo CLI, HTML và JSON, cộng với các báo cáo đám mây có thể tải lên
- Tài nguyên dưới dạng mã: quản lý các endpoint, schema, nhánh và yêu cầu hợp nhất từ CLI
- Nhập OpenAPI trực tiếp
Nhược điểm:
- Không có lệnh linter đặc tả độc lập (sử dụng inso hoặc Redocly để linting theo kiểu Spectral)
- Nền tảng đầy đủ có thể nhiều hơn những gì bạn cần nếu bạn chỉ chạy một bộ sưu tập
Nếu bạn đang cân nhắc hai công cụ này đối đầu, hãy xem Apidog CLI vs Hoppscotch CLI và hướng dẫn thực tế chuyển đổi Hoppscotch CLI sang Apidog CLI. Hướng dẫn hoàn chỉnh về Apidog CLI rộng hơn bao gồm cài đặt, xác thực và bộ lệnh đầy đủ. Để dùng thử, hãy tải xuống Apidog.
2. Newman (công cụ chạy Postman)
Newman là công cụ chạy bộ sưu tập dòng lệnh chính thức của Postman. Nếu nhóm của bạn đã sử dụng Postman, Newman là con đường ít trở ngại nhất: xuất bộ sưu tập và môi trường, sau đó chạy chúng trong CI.
newman run collection.json -e env.json -r cli,json
Nó hỗ trợ nhiều trình báo cáo (CLI, JSON, JUnit, HTML thông qua một plugin), tệp dữ liệu để lặp lại và một hợp đồng mã thoát ổn định cho các pipeline.
Ưu điểm:
- Trưởng thành, được tài liệu rộng rãi, hệ sinh thái lớn
- Tương thích hạng nhất với Postman
- Các trình báo cáo linh hoạt và các lần lặp dựa trên dữ liệu
Nhược điểm:
- Giống như Hoppscotch CLI, nó chỉ là một công cụ chạy, không có lớp thiết kế hoặc tài liệu
- Gắn liền với định dạng bộ sưu tập Postman và mô hình script của nó
- Bạn vẫn phải xuất JSON để sử dụng nó
Để so sánh trực tiếp với cách tiếp cận của Apidog, hãy xem Apidog CLI vs Newman.
3. inso (Insomnia CLI của Kong)
inso là công cụ dòng lệnh đi kèm với client Insomnia mã nguồn mở của Kong. Nó làm được điều mà Hoppscotch CLI không làm được: nó lint các đặc tả OpenAPI. Linting chạy trên Spectral, công cụ linter OpenAPI của Stoplight, vì vậy nếu các cổng chất lượng đặc tả trong CI quan trọng đối với bạn, inso là một ứng cử viên thực sự.
inso run test "My Test Suite" --env "Staging"
inso lint spec "My API Design"
inso export spec "My API Design" --output output.yaml
inso đọc từ thư mục .insomnia (được tạo bởi Git Sync của Insomnia) hoặc thư mục dữ liệu ứng dụng, và tham chiếu các bộ và đặc tả theo tên. Bạn có thể cài đặt nó bằng brew install inso hoặc docker pull kong/inso:latest.
Ưu điểm:
- Linting OpenAPI thực sự thông qua Spectral
- Chạy các kiểm thử và bộ sưu tập, xuất đặc tả, tất cả từ terminal
- Đường dẫn cài đặt qua Brew và Docker
Nhược điểm:
- Tham chiếu tài nguyên bằng tên, điều này có thể dễ gãy trong script
- Insomnia 8 đã giới thiệu một tài khoản đám mây/đăng nhập bắt buộc vào năm 2023 gây ra phản ứng dữ dội, và có những sự cố di chuyển và mất dữ liệu xung quanh thay đổi đó. Đáng để biết nếu bạn mới bắt đầu sử dụng hệ sinh thái này.
Nếu bạn đang đánh giá Insomnia rộng hơn, Apidog vs Insomnia và các giải pháp thay thế ứng dụng Insomnia tốt nhất là những bài đọc tốt tiếp theo. Cũng có một so sánh tập trung Apidog CLI vs inso (Insomnia CLI).
4. Step CI (kiểm thử API mã nguồn mở bằng YAML)
Step CI là một công cụ chất lượng API mã nguồn mở định nghĩa các kiểm thử bằng YAML khai báo thay vì JS script. Bạn mô tả yêu cầu và phản hồi mong đợi, và nó sẽ kiểm tra chúng. Nó hỗ trợ REST, GraphQL và gRPC, đó là phạm vi giao thức rộng hơn hầu hết các công cụ chạy bộ sưu tập.
npx stepci run workflow.yml
Ưu điểm:
- YAML khai báo, dễ đọc trong kiểm soát phiên bản
- Đa giao thức (REST, GraphQL, gRPC)
- Không phụ thuộc vào GUI, cấu hình hoàn toàn nằm trong repo của bạn
Nhược điểm:
- Cộng đồng và hệ sinh thái nhỏ hơn
- Không có lớp thiết kế, giả lập hoặc tài liệu
- Bạn viết kiểm thử thủ công bằng YAML thay vì ghi lại chúng
Step CI rất phù hợp nếu bạn muốn các kiểm thử có thể đọc được, tương thích với git và không cần giao diện người dùng.
5. Hurl (kiểm thử HTTP bằng văn bản thuần túy)
Hurl chạy các yêu cầu HTTP được viết ở định dạng văn bản thuần túy đơn giản và khẳng định trên các phản hồi. Nó được xây dựng trên libcurl, chạy nhanh và tạo ra đầu ra rõ ràng. Không có script và không có bộ sưu tập JSON, chỉ có các tệp .hurl bạn có thể so sánh trong một pull request.
GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Chạy nó với:
hurl --test health.hurl
Ưu điểm:
- Cực kỳ nhẹ, một binary duy nhất, nhanh
- Tệp văn bản thuần túy đọc như tài liệu
- Tuyệt vời cho các kiểm thử khói và kiểm tra sức khỏe trong CI
Nhược điểm:
- Cấp thấp hơn một framework kiểm thử đầy đủ
- Không có tính năng thiết kế, giả lập hoặc tài liệu
- Ít tiện lợi hơn cho các kịch bản phức tạp, chuỗi, dựa trên dữ liệu
Hurl nổi bật với các kiểm tra hợp đồng và khói nhanh chóng, dễ đọc. Nó không cố gắng trở thành một nền tảng.
Bảng so sánh
| Công cụ | Giấy phép | Trọng tâm chính | Dựa trên dữ liệu | Linting đặc tả | Thiết kế/giả lập/tài liệu | Định dạng báo cáo |
|---|---|---|---|---|---|---|
| Apidog CLI | Thương mại (miễn phí) | Nền tảng đầy đủ + kiểm thử CLI | Có (CSV/JSON) | Không (xác thực khi nhập) | Có | CLI, HTML, JSON, đám mây |
| Hoppscotch CLI | Mã nguồn mở | Trình chạy bộ sưu tập | Có (lặp lại CSV) | Không | Không | CLI, JUnit |
| Newman | Mã nguồn mở | Trình chạy Postman | Có (tệp dữ liệu) | Không | Không | CLI, JSON, JUnit, HTML |
| inso | Mã nguồn mở | Trình chạy Insomnia + linter | Giới hạn | Có (Spectral) | Một phần (tài liệu thiết kế) | CLI, JUnit |
| Step CI | Mã nguồn mở | Kiểm thử API YAML | Có | Không | Không | CLI, JUnit |
| Hurl | Mã nguồn mở | Kiểm thử HTTP văn bản thuần túy | Qua templating | Không | Không | CLI, JUnit, HTML |
Cách chọn
- Bạn muốn một công cụ duy nhất từ thiết kế đến kiểm thử: Apidog CLI. Nó loại bỏ việc phải xuất JSON rồi chạy và giữ các tài nguyên API và kiểm thử của bạn trong cùng một hệ thống.
- Nhóm của bạn đã sử dụng Postman: Newman. Chi phí chuyển đổi thấp nhất.
- Bạn cần linting OpenAPI trong CI: inso, vì Spectral.
- Bạn muốn các kiểm thử khai báo, tương thích với git: Step CI (YAML) hoặc Hurl (văn bản thuần túy).
- Bạn hài lòng với một công cụ chạy mã nguồn mở miễn phí và chỉ muốn thoát khỏi Node 22: bất kỳ công cụ nào trong số trên, vì Newman, Step CI và Hurl không có yêu cầu đó.
Nếu lý do chính khiến bạn rời đi là giới hạn của công cụ chạy bộ sưu tập hơn là bất kỳ sự khó chịu đơn lẻ nào, thì con đường tích hợp là điều bạn nên xem xét đầu tiên. Xem Apidog CLI vs Postman CLI và pipeline CI/CD của Apidog CLI để biết cách khía cạnh kiểm thử phù hợp với một pipeline thực tế, và báo cáo kiểm thử của Apidog CLI để biết các tùy chọn báo cáo.
Câu hỏi thường gặp
Hoppscotch CLI có miễn phí không? Có. @hoppscotch/cli là mã nguồn mở và miễn phí sử dụng. Nó chạy các bộ sưu tập, thực thi các script kiểm thử và xuất báo cáo JUnit. Các giải pháp thay thế ở đây không phải vì Hoppscotch đắt tiền, mà là vì muốn nhiều hơn một công cụ chạy.
Giải pháp thay thế đơn giản nhất cho Hoppscotch CLI nếu tôi không muốn Node v22 là gì? Hurl là một binary duy nhất không có bất kỳ phụ thuộc Node nào. inso cài đặt qua Homebrew hoặc Docker. Step CI chạy qua npx nhưng không bị ràng buộc với Node 22 như Hoppscotch CLI hiện tại.
Tôi có thể di chuyển các bộ sưu tập Hoppscotch hiện có của mình sang một công cụ khác không? Có. Hầu hết các công cụ đều chấp nhận các bộ sưu tập đã xuất hoặc OpenAPI. Đối với con đường tích hợp, hướng dẫn di chuyển Hoppscotch CLI sang Apidog CLI sẽ hướng dẫn bạn cách nhập và chạy lại các bộ kiểm thử của bạn.
Apidog CLI có lint các đặc tả OpenAPI như inso không? Không. Apidog xác thực các đặc tả khi nhập nhưng không có lệnh linter độc lập. Nếu việc thực thi hướng dẫn kiểu theo phong cách Spectral trong CI là một yêu cầu cứng rắn, hãy kết hợp Apidog với inso hoặc sử dụng Apidog CLI vs Redocly CLI để so sánh tùy chọn tập trung vào linting.
Giải pháp thay thế nào tốt nhất cho một pipeline CI? Tất cả chúng đều trả về mã thoát khác không khi thất bại, vì vậy tất cả đều hoạt động trong CI. Yếu tố quyết định là những gì khác bạn cần: chạy thuần túy ưu tiên Newman hoặc Hurl; một nguồn đáng tin cậy duy nhất cho thiết kế cộng với kiểm thử ưu tiên Apidog CLI; các cổng đặc tả ưu tiên inso.
Hoppscotch CLI làm tốt công việc của nó. Nếu đó là tất cả những gì bạn cần, hãy tiếp tục sử dụng nó. Nếu bạn muốn hợp nhất thiết kế, giả lập, tài liệu và kiểm thử vào một quy trình làm việc duy nhất thay vì kết nối các công cụ chạy lại với nhau, một nền tảng tích hợp là lựa chọn. Bắt đầu với hướng dẫn hoàn chỉnh về Apidog CLI, sau đó tải xuống Apidog và chạy kịch bản đầu tiên của bạn.
