Cả Apidog CLI và Hoppscotch CLI đều chạy các bài kiểm tra API từ terminal, và cả hai đều phù hợp với quy trình CI/CD. Tuy nhiên, chúng đến từ những nguồn gốc khác nhau. Hoppscotch là một hệ sinh thái API mã nguồn mở, và CLI của nó là một công cụ chạy bộ sưu tập tập trung. Apidog là một nền tảng API tất cả trong một, và CLI của nó là điểm truy cập terminal vào một quy trình làm việc lớn hơn bao gồm thiết kế-kiểm thử-mock-tài liệu.
Đánh giá nhanh
- Chọn Hoppscotch CLI nếu mã nguồn mở và tự lưu trữ là quan trọng nhất, bạn đã sử dụng Hoppscotch, và một báo cáo JUnit đáp ứng nhu cầu báo cáo của bạn.
- Chọn Apidog CLI nếu bạn muốn các báo cáo CLI, HTML và JSON, chạy kiểm thử dựa trên dữ liệu qua CSV và JSON, báo cáo lưu trữ trên đám mây, và một nền tảng tích hợp đằng sau CLI.
So sánh chi tiết
| Apidog CLI | Hoppscotch CLI | |
|---|---|---|
| Cài đặt | Apidog runner / CLI apidog |
npm i -g @hoppscotch/cli (Node v22+) |
| Chạy | Các kịch bản kiểm thử và bộ sưu tập | Bộ sưu tập Hoppscotch |
| Nguồn | Dự án Apidog, hoặc nhập OpenAPI | Tệp JSON bộ sưu tập hoặc ID phiên bản |
| Dựa trên dữ liệu | -d CSV và JSON |
--iteration-data CSV + --iteration-count |
| Công cụ báo cáo | CLI, HTML, JSON + tải lên đám mây | JUnit XML |
| Viết script | Tiền xử lý/hậu xử lý, xác nhận | Pre-request + pw.test() / pw.expect() |
| Kiểm tra cú pháp đặc tả | Không có trình kiểm tra cú pháp độc lập (xác thực khi nhập) | Không (nó là một công cụ chạy) |
| Tài nguyên dưới dạng mã | Điểm cuối, lược đồ, nhánh, yêu cầu hợp nhất | Không |
| Mã nguồn mở | Không (có gói miễn phí) | Có, có thể tự lưu trữ |
| Nền tảng rộng hơn | Thiết kế, mock, tài liệu, kiểm thử trong một ứng dụng | Một phần của hệ sinh thái Hoppscotch |
Cài đặt và thời gian chạy
Hoppscotch CLI được cài đặt từ npm và yêu cầu Node.js v22 trở lên (người dùng Node 20 nên giữ nguyên CLI v0.26.0):
npm i -g @hoppscotch/cli
hopp test ./collection.json -e ./staging.env.json
Apidog CLI đi kèm với Apidog runner và xác thực bằng thông tin đăng nhập hoặc mã truy cập, sau đó chạy các kịch bản theo ID:
apidog run -t <scenario-id> -e <env-id> --access-token <token>
Cả hai cách cài đặt đều không nặng. Một điểm cần lưu ý là yêu cầu nghiêm ngặt về Node v22 của Hoppscotch, điều này có thể gây khó khăn trên các hình ảnh CI cũ hơn. Hướng dẫn cài đặt Apidog CLI bao gồm thiết lập runner nếu bạn mới bắt đầu.
Mỗi công cụ chạy những gì
Hoppscotch CLI chạy một bộ sưu tập Hoppscotch. Bạn có thể truyền một tệp JSON bộ sưu tập cục bộ hoặc kéo một tệp từ phiên bản Hoppscotch bằng ID với một token:
hopp test <collection-id> --token <access_token> --server https://hoppscotch.your-company.com
Đối với mỗi yêu cầu, nó chạy script tiền yêu cầu, gửi yêu cầu và đánh giá script kiểm thử bằng pw.test() và pw.expect(). Một xác nhận thất bại sẽ tạo ra mã thoát khác 0.
Apidog CLI chạy các kịch bản kiểm thử được xây dựng trong dự án Apidog của bạn, có thể xâu chuỗi các bước, chia sẻ biến và xác nhận trên các phản hồi. Vì CLI là một phần của nền tảng, các kịch bản mà bạn thiết kế và gỡ lỗi trong ứng dụng cũng chính là những kịch bản bạn chạy trong CI; không có bước xuất riêng biệt. Xem hướng dẫn đầy đủ về Apidog CLI để biết mô hình kịch bản và kiểm thử REST API từ dòng lệnh để thực hành.
Kiểm thử dựa trên dữ liệu
Cả hai công cụ đều lặp lại một bài kiểm tra trên một tập dữ liệu, đây là tính năng mà hầu hết các nhóm quan tâm.
Hoppscotch sử dụng dữ liệu lặp lại CSV cùng với số lượng:
hopp test ./collection.json --iteration-data ./users.csv --iteration-count 5
Apidog chấp nhận các tập dữ liệu CSV và JSON với -d:
apidog run -t <scenario-id> -d ./users.csv -r cli,html
Sự khác biệt thực tế là tính linh hoạt về định dạng. Hoppscotch đọc CSV; Apidog đọc CSV và JSON, điều này quan trọng khi các fixtures của bạn được lồng vào nhau hoặc đã tồn tại dưới dạng JSON. Hướng dẫn kiểm thử dựa trên dữ liệu của Apidog CLI trình bày các mẫu CSV và JSON cạnh nhau.
Báo cáo
Đây là điểm khác biệt rõ ràng nhất. Hoppscotch CLI ghi báo cáo JUnit XML:
hopp test ./collection.json --reporter-junit ./report.xml
JUnit được hỗ trợ rộng rãi, vì vậy hầu hết các hệ thống CI hiển thị kết quả một cách tự nhiên. Nhưng đó là định dạng có cấu trúc duy nhất mà CLI này tạo ra.
Apidog CLI xuất các báo cáo CLI, HTML và JSON, và có thể đẩy kết quả lên đám mây để có một liên kết có thể chia sẻ, được lưu trữ:
apidog run -t <scenario-id> -r cli,html,json
apidog run -t <scenario-id> --upload-report
Nếu bạn muốn một tài liệu HTML tự chứa để người đánh giá PR xem xét, hoặc một URL báo cáo được lưu trữ để chia sẻ vào kênh Slack, Apidog hỗ trợ nhiều định dạng hơn. Hướng dẫn báo cáo kiểm thử Apidog CLI sẽ hướng dẫn bạn từng loại. Nếu JUnit trên bảng điều khiển CI là tất cả những gì bạn cần, Hoppscotch là một lựa chọn tốt.
Mã nguồn mở và tự lưu trữ
Ở đây Hoppscotch giành chiến thắng theo cách riêng của mình. Toàn bộ hệ sinh thái là mã nguồn mở và có thể tự lưu trữ, vì vậy bạn có thể tự chạy phần backend và giữ dữ liệu yêu cầu không nằm trên bất kỳ đám mây của nhà cung cấp nào. Đối với các nhóm có quy định nghiêm ngặt về nơi lưu trữ dữ liệu hoặc ưa thích các công cụ mã nguồn mở, đây là một lý do thực sự, có thể bảo vệ để chọn nó. Các bài tổng hợp các lựa chọn thay thế Hoppscotch và Postman so với Hoppscotch bao gồm hệ sinh thái rộng lớn hơn.
Apidog không phải là mã nguồn mở. Nó có một gói miễn phí, và điểm nhấn của nó không phải là "mở hơn"; mà là "tích hợp hơn".
Ngoài việc chạy kiểm thử
Đây là điểm mà Apidog CLI không chỉ đơn thuần là một công cụ chạy nữa. Nó quản lý các tài nguyên API dưới dạng mã: nhập OpenAPI, và làm việc với các điểm cuối, lược đồ, môi trường, nhánh và yêu cầu hợp nhất từ terminal. Điều đó làm cho CLI trở thành một phần của quy trình làm việc theo kiểu Git thay vì một lệnh kiểm thử một lần.
Nó cũng là giao diện terminal của một nền tảng hoàn chỉnh. Cùng một dự án điều khiển thiết kế API, máy chủ mock, tài liệu và kiểm thử. Hoppscotch CLI, theo thiết kế, chỉ chạy các bộ sưu tập và không hơn; bạn phải tự mang thiết kế, mocking và tài liệu từ nơi khác.
Lưu ý trung thực: Apidog CLI không có trình kiểm tra cú pháp OpenAPI hoặc lệnh hướng dẫn kiểu dáng độc lập. Nó xác thực các đặc tả khi nhập, nhưng không kiểm tra cú pháp chúng theo cách một trình kiểm tra cú pháp chuyên dụng làm. Nếu kiểm tra cú pháp đặc tả trên terminal là một yêu cầu bắt buộc, thì không công cụ chạy nào trong số này là trình kiểm tra cú pháp của bạn; một công cụ như Redocly CLI hoặc Spectral mới là. So sánh các đánh đổi của công cụ chạy trong Apidog CLI so với Newman.
Ai nên chọn cái nào
- Nhà phát triển độc lập hoặc nhóm ưu tiên mã nguồn mở, đã sử dụng Hoppscotch: Hoppscotch CLI. Miễn phí, có thể tự lưu trữ, tích hợp JUnit vào CI, xong.
- Nhóm muốn một nền tảng duy nhất cho thiết kế, mock, tài liệu và kiểm thử, với các lượt chạy dựa trên dữ liệu qua CSV/JSON và báo cáo HTML/JSON/đám mây: Apidog CLI. Tải Apidog và nhập bộ sưu tập hiện có để dùng thử.
- Chỉ cần chạy nhanh một bộ sưu tập trong CI mà không có nhu cầu nào khác: cả hai đều hoạt động; hãy chọn dựa trên ứng dụng mà bộ sưu tập của bạn hiện đang tồn tại.
Câu hỏi thường gặp
Cả hai có hỗ trợ kiểm thử dựa trên dữ liệu không? Có. Hoppscotch sử dụng --iteration-data (CSV) với --iteration-count; Apidog sử dụng -d với CSV hoặc JSON.
Công cụ nào có báo cáo tốt hơn? Hoppscotch ghi báo cáo JUnit XML. Apidog ghi báo cáo CLI, HTML và JSON, cộng với các báo cáo đám mây được lưu trữ. Nếu bạn cần nhiều hơn JUnit, Apidog hỗ trợ nhiều định dạng hơn.
Hoppscotch CLI có miễn phí và mã nguồn mở không? Có, và nó có thể tự lưu trữ. Tài liệu chính thức và kho GitHub có chi tiết. Apidog có gói miễn phí nhưng không phải là mã nguồn mở.
Tôi có thể chuyển các bộ sưu tập Hoppscotch của mình sang Apidog không? Có. Xuất bộ sưu tập và nhập nó, sau đó chạy bằng apidog run. Hướng dẫn di chuyển bao gồm việc ánh xạ lệnh.
Cả hai công cụ chạy đều thực hiện tốt công việc cốt lõi. Hãy chọn Hoppscotch CLI nếu bạn ưu tiên mã nguồn mở và tự lưu trữ; hãy chọn Apidog khi bạn muốn công cụ chạy là một phần của nền tảng API tích hợp với các lượt chạy và báo cáo dựa trên dữ liệu phong phú hơn.
