Postman CLI so với Newman: Nên dùng trình chạy dòng lệnh nào?

INEZA Felin-Michel

INEZA Felin-Michel

22 tháng 5 2026

Postman CLI so với Newman: Nên dùng trình chạy dòng lệnh nào?

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Trong nhiều năm, việc chạy các collection của Postman bên ngoài ứng dụng desktop có nghĩa là bạn chỉ có một công cụ: Newman. Sau đó Postman phát hành công cụ dòng lệnh chính thức của riêng mình, Postman CLI, và giờ đây có hai cách để làm cùng một việc. Cả hai đều chạy các collection mà không cần GUI, cả hai đều phù hợp với các quy trình CI/CD và cả hai đều thực thi cùng một script kiểm thử. Vậy tại sao lại có hai công cụ, và công cụ nào thuộc về quy trình của bạn? Tóm lại: Newman là trình chạy mã nguồn mở, không cần tài khoản, đã trở thành tiêu chuẩn cộng đồng từ những ngày đầu. Postman CLI là công cụ mới hơn, liên kết với tài khoản, kết nối các lần chạy trở lại đám mây Postman và báo cáo kết quả ở đó. Lựa chọn đúng đắn phụ thuộc vào việc bạn muốn kết quả được lưu trữ trên nền tảng của Postman hay muốn một trình chạy chỉ cần một file collection. Bài viết này so sánh chúng một cách trung thực để bạn có thể đưa ra quyết định.

Newman là gì

Newman là trình chạy collection dòng lệnh gốc của Postman. Nó là mã nguồn mở, được phân phối dưới dạng gói npm và hoàn toàn miễn phí. Nó chạy các file collection được xuất từ Postman, thực thi mọi request và mọi khẳng định pm.test, và báo cáo kết quả thông qua mã thoát của nó. Đặc điểm nổi bật của Newman là tính độc lập. Nó không yêu cầu tài khoản Postman, khóa API hoặc kết nối mạng đến các máy chủ của Postman. Bạn đưa cho nó một file collection JSON và nó sẽ chạy. Điều đó làm cho nó dễ đoán và dễ hiểu trong các môi trường bị khóa.

npm install -g newman
newman run checkout-api.postman_collection.json \
  --environment staging.postman_environment.json

Newman cũng nhẹ và có khả năng mở rộng. Nó đi kèm với các reporter CLI và JUnit, và cộng đồng duy trì các reporter bổ sung như newman-reporter-htmlextra để xuất ra HTML phong phú. Vì nó là một gói Node.js, bạn cũng có thể gọi nó theo chương trình từ một script. Hướng dẫn của chúng tôi về sự khác biệt giữa Newman và Postman bao gồm cách nó liên quan đến ứng dụng desktop.

Postman CLI là gì

Postman CLI là công cụ dòng lệnh chính thức mà Postman đã xây dựng và hiện đang khuyến nghị. Nó là một binary duy nhất bạn cài đặt bằng một script, không phải gói npm, và nó được gắn với tài khoản Postman của bạn thông qua khóa API.

# cài đặt (ví dụ cho macOS/Linux)
curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh

# xác thực, sau đó chạy
postman login --with-api-key YOUR_API_KEY
postman collection run checkout-api

Điểm khác biệt chính là liên kết đám mây. Khi bạn chạy một collection với Postman CLI, nó có thể kéo collection trực tiếp từ không gian làm việc Postman của bạn bằng ID, và nó đẩy kết quả chạy trở lại nền tảng Postman, nơi chúng xuất hiện trong lịch sử không gian làm việc và bảng điều khiển. Điểm nổi bật lớn là quản trị API và kiểm tra bảo mật: Postman CLI có thể chạy linting đối với các định nghĩa API của bạn trong quá trình thực hiện pipeline, hiển thị các vi phạm về schema và quy tắc như một phần của quá trình build.

Vì vậy, Postman CLI ít giống một trình chạy collection thuần túy hơn và giống một tác nhân pipeline cho nền tảng Postman hơn. Nếu nhóm của bạn làm việc bên trong đám mây của Postman và muốn lịch sử chạy và quản trị được tập trung ở đó, thì tích hợp đó là lý do để chọn nó.

So sánh song song

Khía cạnh Postman CLI Newman
Nguồn Mã nguồn đóng, công cụ chính thức của Postman Mã nguồn mở
Cài đặt Script cài đặt, binary duy nhất Gói npm
Tài khoản Postman Bắt buộc (đăng nhập bằng khóa API) Không bắt buộc
Nguồn collection Kéo từ đám mây Postman bằng ID, hoặc file cục bộ File JSON cục bộ
Kết quả chạy Báo cáo trở lại nền tảng Postman Đầu ra terminal và file reporter
Quản trị/linting API Tích hợp sẵn Không bao gồm
Reporter Hạn chế, kết quả nằm trong Postman CLI, JUnit, cộng thêm các reporter HTML của cộng đồng
Sử dụng ngoại tuyến Hạn chế, thiết kế xoay quanh đám mây Hoàn toàn ngoại tuyến khi file đã ở cục bộ
Mức độ trưởng thành Mới hơn Tiêu chuẩn cộng đồng đã tồn tại lâu đời
Chi phí Miễn phí, nhưng bị ràng buộc bởi giới hạn của gói Postman Miễn phí, không cần tài khoản

Trục quyết định là đám mây Postman. Postman CLI được xây dựng để đưa kết quả và quản trị vào nền tảng Postman. Newman được xây dựng để chạy một file và báo cáo cục bộ, không phụ thuộc vào máy chủ của Postman.

Cách chúng phù hợp trong CI/CD

Cả hai công cụ đều hoạt động trong bất kỳ nhà cung cấp CI nào, bao gồm Jenkins, GitHub Actions, GitLab CI và CircleCI. Cơ chế khác nhau. Với Newman, bạn commit các file JSON collection và environment vào kho lưu trữ của mình, cài đặt Newman trong job, chạy nó và để mã thoát khác 0 làm thất bại build khi có lỗi kiểm thử. Mọi thứ được gói gọn trong repo và pipeline. Các hướng dẫn của chúng tôi về tự động hóa kiểm thử API trong CI/CDtự động hóa kiểm thử API với GitHub Actions cho thấy mô hình này. Với Postman CLI, bạn lưu trữ khóa API Postman dưới dạng bí mật trong nhà cung cấp CI, xác thực và chạy collection bằng ID của nó. Collection được kéo từ đám mây Postman thay vì repo, và kết quả được gửi trở lại workspace. Điều này giữ cho nguồn đáng tin cậy trong Postman, điều mà một số nhóm thích và những nhóm khác thấy hạn chế. Một điểm khác biệt thực tế: Newman giữ các kiểm thử được phiên bản hóa cùng với mã của bạn, vì JSON collection nằm trong repo. Postman CLI giữ các kiểm thử được phiên bản hóa trong nền tảng của Postman, vì nó kéo bằng ID. Hãy quyết định nguồn đáng tin cậy mà nhóm của bạn muốn trước khi lựa chọn.

Góc độ quản trị

Tính năng duy nhất phân biệt rõ ràng nhất giữa hai công cụ là quản trị API. Postman CLI có thể chạy kiểm tra kiểu postman api lint đối với định nghĩa API được lưu trữ trong không gian làm việc Postman của bạn, đánh giá nó theo các quy tắc về đặt tên, bảo mật, tính đầy đủ của schema và tính nhất quán. Khi kiểm tra đó chạy bên trong một pipeline, một định nghĩa vi phạm quy tắc sẽ làm thất bại bản build trước khi thay đổi được hợp nhất. Newman không có tính năng tương đương. Nó chạy các collection và báo cáo kết quả kiểm thử, và đó là giới hạn công việc của nó. Nếu tổ chức của bạn quan tâm đến việc thực thi các tiêu chuẩn thiết kế API một cách tự động, khả năng đó chỉ có trong Postman CLI, và đó là một lý do thực sự để chọn nó. Nếu bạn không thực thi các quy tắc thiết kế trong pipeline, tính năng này không liên quan và sự đơn giản của Newman sẽ thắng. Điều này đáng được trung thực vì nó thay đổi cách so sánh. Postman CLI không chỉ là "Newman, nhưng mới hơn". Nó là một loại công cụ khác: một tác nhân pipeline cho nền tảng Postman mà tình cờ bao gồm một trình chạy collection. Newman là, và chỉ là, một trình chạy collection. Một khi bạn nhìn nhận theo cách đó, lựa chọn sẽ ít liên quan đến các tính năng hơn và nhiều hơn về việc bạn có muốn kiểm thử của mình được gắn với nền tảng của Postman hay không.

Các cân nhắc khi di chuyển

Các nhóm đã chạy Newman đôi khi hỏi liệu họ có nên chuyển sang Postman CLI hay không. Hiếm khi có lý do mạnh mẽ để làm vậy. Newman vẫn được duy trì, vẫn miễn phí và vẫn hoạt động trong mọi nhà cung cấp CI. Việc chuyển đổi có nghĩa là thêm khóa API làm bí mật CI, thay đổi cách lấy nguồn collection và chấp nhận sự phụ thuộc vào đám mây của Postman. Trừ khi bạn đặc biệt muốn lịch sử chạy tập trung hoặc kiểm tra quản trị, chi phí di chuyển lớn hơn lợi ích mang lại. Các nhóm mới bắt đầu đối mặt với lựa chọn thú vị hơn. Nếu nhóm cam kết sử dụng Postman làm công cụ chính và trả tiền cho một gói, Postman CLI giữ mọi thứ trong một hệ sinh thái và là lựa chọn tự nhiên. Nếu nhóm muốn sự linh hoạt, các kiểm thử được phiên bản hóa trong repo và không bị ràng buộc bởi đám mây của một nhà cung cấp duy nhất, Newman, hoặc hoàn toàn là một công cụ không phải Postman, sẽ hợp lý hơn. Không có câu trả lời đúng duy nhất; chỉ có câu trả lời phù hợp với cách nhóm của bạn đang làm việc.

Bạn nên chọn công cụ nào

Chọn Newman nếu bạn muốn một trình chạy không phụ thuộc vào tài khoản, nếu bạn muốn các kiểm thử được phiên bản hóa trong kho lưu trữ của mình, nếu bạn cần báo cáo HTML phong phú thông qua các reporter của cộng đồng, hoặc nếu bạn chạy trong môi trường hạn chế nơi việc gọi đến đám mây của Postman không được phép. Tính độc lập và sự trưởng thành của Newman làm cho nó trở thành lựa chọn mặc định an toàn cho hầu hết các pipeline. Chọn Postman CLI nếu nhóm của bạn hoạt động bên trong nền tảng Postman, nếu bạn muốn lịch sử chạy và bảng điều khiển được tập trung ở đó, hoặc nếu việc quản trị API và linting định nghĩa trong pipeline có giá trị đối với bạn. Tích hợp đám mây chặt chẽ của nó là một lợi thế thực sự cho các nhóm tập trung vào Postman. Nếu bạn đang cân nhắc quyết định này, đáng để hỏi liệu bạn có muốn bị ràng buộc với hệ sinh thái Postman hay không. Để biết các cách tiếp cận khác, hãy xem hướng dẫn của chúng tôi về chạy các collection Postman trong CI mà không cần Newman và cái nhìn rộng hơn của chúng tôi về kiểm thử API mà không cần Postman.

Một giải pháp thay thế công cụ duy nhất: Apidog

Cả Postman CLI và Newman đều giả định rằng bạn đã viết các kiểm thử của mình trong Postman. Apidog loại bỏ sự phân tách đó. Bạn thiết kế API, gỡ lỗi request và xây dựng các kịch bản kiểm thử tự động với các khẳng định trực quan trong một ứng dụng, sau đó chạy các kịch bản đó trong CI/CD bằng trình chạy dòng lệnh tích hợp sẵn. Không có bước xuất và không có gói trình chạy riêng biệt, bởi vì các định nghĩa kiểm thử và công cụ thực thi là cùng một sản phẩm. Apidog cũng tích hợp thiết kế API, máy chủ giả lập và kiểm thử hiệu suất, do đó một nhóm có thể bao quát toàn bộ vòng đời API mà không cần ghép nối các công cụ lại với nhau. Bạn có thể tải xuống Apidog và sử dụng các tính năng kiểm thử của nó miễn phí, bao gồm trình chạy CLI cho các pipeline.

Câu hỏi thường gặp

Postman CLI có thay thế Newman không?

Postman định vị Postman CLI là công cụ dòng lệnh được khuyến nghị chính thức của mình, nhưng Newman vẫn được duy trì và sử dụng rộng rãi. Newman vẫn là lựa chọn tốt hơn khi bạn muốn một trình chạy không cần tài khoản, được phiên bản hóa trong repo. Cả hai có thể sẽ cùng tồn tại trong một thời gian, vì vậy không có nhu cầu cấp bách nào để di chuyển.

Postman CLI có yêu cầu tài khoản Postman không?

Có. Postman CLI xác thực bằng khóa API Postman và được thiết kế để kết nối các lần chạy trở lại không gian làm việc Postman của bạn. Ngược lại, Newman không cần tài khoản và chạy hoàn toàn từ một file collection cục bộ.

Công cụ nào cho báo cáo tốt hơn?

Newman có khả năng báo cáo linh hoạt hơn thông qua các reporter của cộng đồng, đặc biệt là newman-reporter-htmlextra cho đầu ra HTML chi tiết và JUnit XML cho bảng điều khiển CI. Postman CLI báo cáo kết quả vào chính nền tảng Postman, điều này tiện lợi nếu nhóm của bạn làm việc ở đó nhưng ít linh hoạt hơn đối với các file báo cáo độc lập.

Postman CLI có thể chạy một file collection cục bộ không?

Postman CLI có thể chạy các collection từ các file cục bộ, nhưng nó được xây dựng xoay quanh việc kéo các collection từ đám mây Postman bằng ID và báo cáo kết quả trở lại. Nếu bạn muốn một công cụ coi file JSON cục bộ là nguồn đáng tin cậy mà không có sự tham gia của đám mây, Newman phù hợp với mô hình đó một cách tự nhiên hơn.

Công cụ nào nhanh hơn trong CI?

Đối với việc thực thi collection thuần túy, sự khác biệt là nhỏ và phụ thuộc vào kích thước collection và điều kiện mạng. Newman có dung lượng nhỏ hơn và không có vòng lặp đám mây. Postman CLI thêm chi phí xác thực và đồng bộ hóa kết quả với nền tảng. Đối với hầu hết các pipeline, hãy chọn dựa trên sự phù hợp với quy trình làm việc hơn là tốc độ thô.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API