Hướng dẫn chạy kiểm thử API Apidog CLI trên CircleCI

Chạy kiểm thử API Apidog CLI trong CircleCI: một .circleci/config.yml mẫu sao chép-dán với trình thực thi cimg/node, biến bí mật và các báo cáo JUnit cùng HTML.

INEZA Felin-Michel

INEZA Felin-Michel

8 tháng 7 2026

Hướng dẫn chạy kiểm thử API Apidog CLI trên CircleCI

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Để chạy các bài kiểm tra API Apidog CLI trong CircleCI, hãy thêm tệp .circleci/config.yml sử dụng bộ thực thi Docker cimg/node, cài đặt apidog-cli bằng npm và chạy apidog run với mã thông báo truy cập, ID kịch bản kiểm tra và ID môi trường của bạn. Lưu trữ mã thông báo và các ID này dưới dạng biến môi trường của CircleCI, sau đó xuất các báo cáo JUnit và HTML bằng store_test_resultsstore_artifacts. Hướng dẫn này sẽ trình bày từng phần để bạn có thể sao chép, dán và triển khai.

Bài viết này nói về việc chạy các bài kiểm tra, không phải chọn một nền tảng CI. Nếu bạn vẫn đang cân nhắc giữa các công cụ, so sánh CircleCI và Jenkins sẽ giải quyết vấn đề đó. Ở đây chúng tôi giả định bạn đã chọn CircleCI và muốn bộ API của mình chạy trên mỗi lần đẩy.

CircleCI là gì và cách nó hoạt động

CircleCI là một dịch vụ tích hợp và triển khai liên tục dựa trên đám mây. Nó theo dõi kho lưu trữ Git của bạn, và khi bạn đẩy một commit, nó sẽ chạy các bước xây dựng, kiểm thử và triển khai mà bạn đã định nghĩa. Bạn mô tả các bước đó trong một tệp YAML duy nhất, vì vậy pipeline của bạn nằm trong hệ thống kiểm soát phiên bản cùng với mã của bạn.

Mọi thứ bắt đầu với .circleci/config.yml ở thư mục gốc của repo của bạn. CircleCI đọc tệp này trên mỗi lần đẩy và biến nó thành một pipeline. Định dạng cấu hình hiện tại là phiên bản 2.1, bổ sung các khối xây dựng có thể tái sử dụng như orbs, commands và parameters trên nền tảng của engine 2.0 cơ bản.

Một cấu hình CircleCI có ba khái niệm cốt lõi:

Sự phân tách đó rất quan trọng đối với việc kiểm thử API. Bạn định nghĩa một job cài đặt Apidog CLI và chạy các kịch bản của mình, sau đó là một workflow kích hoạt nó trên các nhánh mà bạn quan tâm.

Tại sao nên chạy kiểm thử API trong CircleCI

Chạy bộ API của bạn trong CI sẽ phát hiện các lỗi vi phạm hợp đồng trước khi chúng đến môi trường sản xuất. Một thay đổi lược đồ, một trường bị đổi tên hoặc một luồng xác thực bị hỏng sẽ hiển thị dưới dạng một bản dựng lỗi thay vì một phiếu hỗ trợ.

Apidog CLI được xây dựng chính xác cho mục đích này. Bạn thiết kế và gỡ lỗi một kịch bản kiểm thử trong ứng dụng Apidog, sau đó chạy kịch bản đó không giao diện trong CI chỉ bằng một lệnh. Không cần viết lại các xác nhận trong mã và không cần một bộ kiểm thử riêng biệt để duy trì.

Nếu bạn muốn có cái nhìn tổng quát hơn về cách các kiểm tra tự động phù hợp với một pipeline, hướng dẫn 12 thực tiễn tốt nhất CI/CD cho kiểm thử API là một tài liệu bổ sung tốt.

Điều kiện tiên quyết

Trước khi bạn viết cấu hình, hãy chuẩn bị những điều sau trong ứng dụng Apidog:

Bạn cũng sẽ cần một tài khoản CircleCI được kết nối với nhà cung cấp Git của bạn, với dự án đã được bật trong bảng điều khiển CircleCI.

Lưu trữ bí mật dưới dạng biến môi trường

Không bao giờ mã hóa cứng mã thông báo truy cập của bạn trong config.yml. Tệp này được commit vào Git, vì vậy một mã thông báo ở đó sẽ là một mã thông báo bị rò rỉ.

CircleCI cung cấp cho bạn hai tùy chọn an toàn:

Đối với hướng dẫn này, hãy thêm ba biến: APIDOG_ACCESS_TOKEN, APIDOG_TEST_SCENARIO_IDAPIDOG_ENVIRONMENT_ID. CLI sẽ đọc chúng khi chạy và không có gì nhạy cảm nằm trong repo của bạn.

Tệp config.yml đầy đủ

Đây là một cấu hình hoàn chỉnh, chỉ cần sao chép và dán. Đặt nó vào .circleci/config.yml, đặt ba biến môi trường của bạn và đẩy lên.

version: 2.1

jobs:
  api-tests:
    docker:
      - image: cimg/node:20.11
    steps:
      - checkout
      - run:
          name: Install Apidog CLI
          command: npm install -g apidog-cli
      - run:
          name: Run Apidog API tests
          command: |
            apidog run \
              --access-token $APIDOG_ACCESS_TOKEN \
              -t $APIDOG_TEST_SCENARIO_ID \
              -e $APIDOG_ENVIRONMENT_ID \
              -r cli,junit,html \
              --out-dir ./reports
      - store_test_results:
          path: ./reports
      - store_artifacts:
          path: ./reports

workflows:
  test-api:
    jobs:
      - api-tests

Hãy cùng phân tích từng phần xem chúng làm gì.

Bộ thực thi

docker:
  - image: cimg/node:20.11

cimg/node là hình ảnh tiện lợi của CircleCI dành cho Node.js. Nó được cài đặt sẵn Node, npm và các công cụ xây dựng phổ biến, vì vậy npm install -g apidog-cli hoạt động mà không cần thiết lập thêm. Thẻ :20.11 gắn một phiên bản Node; hãy gắn vào phiên bản mà nhóm của bạn đã chuẩn hóa.

Các bước

checkout kéo kho lưu trữ của bạn vào thư mục làm việc của job. Bước run đầu tiên cài đặt CLI toàn cục. Bước run thứ hai thực thi các bài kiểm thử của bạn.

Hãy xem kỹ lệnh kiểm thử:

apidog run \
  --access-token $APIDOG_ACCESS_TOKEN \
  -t $APIDOG_TEST_SCENARIO_ID \
  -e $APIDOG_ENVIRONMENT_ID \
  -r cli,junit,html \
  --out-dir ./reports

Mỗi cờ thực hiện một công việc:

Xuất bản các báo cáo

- store_test_results:
    path: ./reports
- store_artifacts:
    path: ./reports

store_test_results chỉ CircleCI đến tệp JUnit XML trong ./reports. CircleCI phân tích nó và hiển thị tab Tests trên bản dựng, vì vậy các lỗi được liệt kê theo tên với dữ liệu thời gian. Đây là điều biến một bức tường văn bản nhật ký thành một chế độ xem đạt/không đạt có cấu trúc.

store_artifacts tải thư mục tương tự lên dưới dạng các tệp có thể tải xuống, bao gồm cả báo cáo HTML. Sau khi một bản dựng hoàn tất, bạn mở tab Artifacts và xem báo cáo được hiển thị trong trình duyệt của mình. Hướng dẫn báo cáo kiểm thử Apidog CLI giải thích các định dạng CLI, HTML và JSON chi tiết hơn.

Quy trình làm việc

workflows:
  test-api:
    jobs:
      - api-tests

Quy trình làm việc này chạy job api-tests trên mỗi lần đẩy. Bạn có thể thêm các bộ lọc để hạn chế nó chỉ với một số nhánh nhất định, hoặc thêm các job khác chạy trước hoặc sau nó. Đối với một job kiểm thử đơn lẻ, khối tối thiểu này là tất cả những gì bạn cần.

Chỉ chạy kiểm thử trên nhánh chính

Bạn có thể không muốn chạy API đầy đủ trên mọi nhánh tính năng. Thêm một bộ lọc nhánh vào quy trình làm việc:

workflows:
  test-api:
    jobs:
      - api-tests:
          filters:
            branches:
              only:
                - main
                - develop

Bây giờ job chỉ chạy trên các lần đẩy tới maindevelop. Các nhánh khác sẽ bỏ qua nó, điều này giúp tập trung thời gian xây dựng của bạn vào các nhánh được triển khai.

Sử dụng Ngữ cảnh thay vì biến dự án

Nếu nhiều kho lưu trữ chia sẻ một mã thông báo Apidog, Ngữ cảnh sẽ giữ nó ở một nơi. Tạo Ngữ cảnh trong Cài đặt Tổ chức, thêm các biến của bạn vào đó, sau đó tham chiếu nó:

workflows:
  test-api:
    jobs:
      - api-tests:
          context:
            - apidog-secrets

Job bây giờ sẽ đọc APIDOG_ACCESS_TOKEN và phần còn lại từ Ngữ cảnh apidog-secrets. Xoay mã thông báo một lần, và mọi dự án sẽ nhận được giá trị mới.

Các lần chạy dựa trên dữ liệu và các tùy chọn khác

CLI có nhiều cờ hơn những gì hướng dẫn này sử dụng. Có hai cờ đáng biết đối với CI.

Bạn có thể lặp lại một kịch bản trên các hàng dữ liệu kiểm thử bằng -d-n:

apidog run \
  --access-token $APIDOG_ACCESS_TOKEN \
  -t $APIDOG_TEST_SCENARIO_ID \
  -e $APIDOG_ENVIRONMENT_ID \
  -d ./data/users.csv \
  -r cli,junit \
  --out-dir ./reports

Cờ -d nhận đường dẫn tệp CSV hoặc JSON, hoặc một ID bộ dữ liệu được lưu trữ dạng số, và chạy kịch bản một lần cho mỗi hàng. Hướng dẫn kiểm thử dựa trên dữ liệu chỉ ra cách cấu trúc các tệp đó.

Bạn cũng có thể kiểm soát cách chạy xử lý lỗi bằng --on-error, chấp nhận continue, end hoặc ignore. Và đối với các dự án sử dụng nhánh Apidog, --project <id> --branch <name> nhắm mục tiêu một nhánh cụ thể. Để đẩy tổng quan báo cáo lên đám mây Apidog, hãy thêm --upload-report dưới dạng cờ trần.

Điều này phù hợp với quy trình làm việc của Apidog như thế nào

Mục đích của Apidog CLI là bạn không cần phải viết hoặc duy trì mã kiểm thử. Bạn xây dựng một kịch bản kiểm thử từ dòng lệnh hoặc trong trình xây dựng kiểm thử trực quan, đặt các xác nhận về mã trạng thái và thân phản hồi, sau đó lưu lại. CI sau đó sẽ chạy chính xác kịch bản đó.

Vì kịch bản nằm trong dự án Apidog của bạn, nhóm của bạn chỉnh sửa các bài kiểm thử ở một nơi. Cấu hình CI hiếm khi thay đổi; nó chỉ gọi apidog run. Khi ai đó thêm một xác nhận trong ứng dụng, bản dựng CircleCI tiếp theo sẽ nhận nó mà không cần chỉnh sửa YAML.

Điều đó giữ một sự phân chia rõ ràng. Apidog sở hữu những gì được kiểm thử. CircleCI sở hữu khi nào và ở đâu nó chạy. Nếu bạn muốn so sánh CircleCI với các công cụ chạy khác cho loại công việc này, bản tổng hợp các công cụ tích hợp liên tục tốt nhất cho các nhóm API sẽ trình bày các đánh đổi.

Sẵn sàng đưa bộ API của bạn vào mỗi lần đẩy? Tải Apidog, xây dựng một kịch bản kiểm thử và thả cấu hình trên vào kho lưu trữ của bạn.

button

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

CircleCI là gì?

CircleCI là một nền tảng tích hợp và triển khai liên tục trên đám mây. Nó kết nối với kho lưu trữ Git của bạn, đọc tệp .circleci/config.yml và tự động chạy các bước xây dựng, kiểm thử và triển khai mỗi khi bạn đẩy mã. Nó loại bỏ nhu cầu chạy các bước đó bằng tay trên máy của riêng bạn.

CircleCI được dùng để làm gì?

Các nhóm sử dụng CircleCI để tự động hóa kiểm thử và triển khai. Các công việc phổ biến bao gồm biên dịch mã, chạy kiểm thử đơn vị và tích hợp, kiểm tra hợp đồng API, xây dựng hình ảnh Docker và phát hành các bản phát hành đến môi trường staging hoặc production. Trong hướng dẫn này, công việc chạy kiểm thử API Apidog CLI trên mỗi lần đẩy.

CircleCI có miễn phí không?

CircleCI có gói miễn phí bao gồm một lượng tín dụng xây dựng hàng tháng, đủ cho các dự án nhỏ và kho lưu trữ cá nhân. Các nhóm lớn hơn cần nhiều khả năng chạy đồng thời hơn, thời gian xây dựng dài hơn hoặc máy lớn hơn sẽ chuyển sang các gói trả phí Performance và Scale. Kiểm tra trang giá hiện tại của CircleCI để biết giới hạn chính xác.

CircleCI có phải là mã nguồn mở không?

Không, CircleCI là một sản phẩm thương mại, được lưu trữ, không phải mã nguồn mở. Bạn cấu hình nó thông qua một tệp YAML và chạy nó trên cơ sở hạ tầng của CircleCI hoặc một runner tự lưu trữ. Nếu bạn cần một máy chủ CI hoàn toàn mã nguồn mở, Jenkins là lựa chọn thay thế phổ biến, điều mà bài so sánh CircleCI vs Jenkins đã thảo luận.

CircleCI hoạt động như thế nào?

Khi bạn đẩy một commit, CircleCI phát hiện sự thay đổi, đọc tệp .circleci/config.yml và khởi động bộ thực thi mà bạn đã định nghĩa, chẳng hạn như một Docker container cimg/node. Nó chạy từng bước trong các job của bạn theo thứ tự, sau đó báo cáo kết quả trở lại nhà cung cấp Git của bạn. Các workflow cho phép bạn xâu chuỗi và chạy song song các job. Để có cái nhìn tổng thể hơn về cách điều này phù hợp với một pipeline phân phối, hãy xem Hướng dẫn CI/CD là gì.

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