Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Lưu ý
Các tính năng xem trước không được dùng cho sản xuất và có thể có chức năng bị hạn chế. Những tính năng này khả dụng trước khi có bản phát hành chính thức để khách hàng có thể truy cập sớm và cung cấp phản hồi.
Hướng dẫn này cung cấp hướng dẫn từng bước để thiết lập xác thực trong Test Engine. Để có cái nhìn tổng quan nhanh về các tùy chọn xác thực, hãy xem Xác thực trong Công cụ kiểm tra.
Bắt đầu với xác thực
Test Engine hỗ trợ hai phương pháp xác thực cho các bài kiểm tra dựa trên web dành cho ứng dụng canvas và ứng dụng dựa trên mô hình:
- StorageState - Thiết lập mặc định, dễ dàng cho quá trình phát triển cá nhân (cho ứng dụng canvas dựa trên web và thử nghiệm ứng dụng dựa trên mô hình)
- Dataverse - Phương pháp tiếp cận theo nhóm để chia sẻ người dùng thử nghiệm và CI/CD (cho các thử nghiệm ứng dụng dựa trên mô hình và canvas dựa trên web)
Xác thực được xử lý khác nhau đối với nhà cung cấp PowerFx và các bài kiểm tra trực tiếp. Dataverse Các thử nghiệm này lấy mã thông báo truy cập trực tiếp từ phiên Azure CLI đã đăng nhập của bạn bằng cách sử dụng az lệnh để lấy mã thông báo truy cập tài nguyên. Hãy đảm bảo rằng bạn đã đăng nhập bằng az login --allow-no-subscriptions trước khi chạy các loại thử nghiệm này.
Thiết lập nhanh: Xác thực StorageState
Xác thực StorageState là cách đơn giản nhất để bắt đầu. Nó sử dụng Windows Data Protection API để lưu trữ an toàn mã thông báo xác thực trên máy cục bộ của bạn.
Bước 1: Chạy thử nghiệm của bạn với xác thực mặc định
Chạy lệnh PowerShell sau, thay thế các tham số bắt đầu bằng your.
pac test run `
--provider canvas `
--test-plan-file your-test-plan.yaml `
--tenant your-tenant-id `
--environment-id your-environment-id
Lưu ý
Tham số chạy thử nghiệm pac--user-auth không được sử dụng trong ví dụ này vì nhà cung cấp mặc định là StorageState. Bạn có thể thêm nó vào nếu muốn.
Bước 2: Hoàn tất đăng nhập tương tác
Nhập thông tin tài khoản người dùng thử nghiệm của bạn
- Một cửa sổ trình duyệt tự động mở ra
- đăng nhập bằng tài khoản người dùng thử nghiệm của bạn
- Nếu được nhắc, hãy chấp thuận lời nhắc MFA và đồng ý
- Chọn "Duy trì trạng thái đăng nhập" khi được nhắc
Xác thực của bạn hiện đã được lưu.
- Test Engine lưu trữ xác thực của bạn một cách an toàn
- Các lần chạy thử nghiệm trong tương lai sử dụng trạng thái đã lưu mà không cần đăng nhập
- Mã thông báo tự động làm mới khi cần thiết
Thiết lập nhóm: Dataverse xác thực
Dataverse Xác thực hoàn hảo cho các nhóm và quy trình CI/CD. Nó lưu trữ an toàn các trạng thái người dùng đã xác thực trong Dataverse, được mã hóa bằng chứng chỉ X.509.
Bước 1: Tải xuống và nhập giải pháp Test Engine
- Tải xuống giải pháp từ Power Platform . https://aka.ms/TestEngineAuth
- Đăng nhập vào Power Apps.
- Chọn môi trường mục tiêu của bạn.
- Đi tới Giải pháp và chọn Nhập giải pháp.
- Làm theo trình hướng dẫn để tải lên và cài đặt giải pháp Test Engine.
Bước 2: Tạo chứng chỉ để mã hóa
Đối với chứng chỉ tự ký (chỉ dành cho phát triển), hãy chạy tập lệnh PowerShell sau:
$Params = @{
DnsName = @("testengine", "testengine")
CertStoreLocation = "Cert:\CurrentUser\My"
NotAfter = (Get-Date).AddMonths(6)
KeyAlgorithm = "RSA"
KeyLength = 2048
}
New-SelfSignedCertificate @Params
Đối với sản xuất, hãy sử dụng chứng chỉ từ cơ quan cấp chứng chỉ doanh nghiệp của bạn.
Bước 3: Thiết lập người dùng thử nghiệm của bạn
Thực hiện các bước sau để thiết lập người dùng thử nghiệm của bạn:
Mở thiết bị đầu cuối của bạn và đăng xuất khỏi mọi phiên làm việc hiện tại:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutđăng nhập bằng Azure CLI (cần thiết để xác thực): Dataverse
az login --allow-no-subscriptionsĐặt tên chứng chỉ của bạn làm biến môi trường PowerShell có tên
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"Chạy thử nghiệm của bạn với xác thực: Dataverse
pac test run ` --provider canvas ` --user-auth Dataverse ` --auth Certstore ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-idLưu ý
Không giống như StorageState, trong trường hợp này bạn phải sử dụng
--user-auththam số có giá trị làDataverse.Hoàn tất đăng nhập tương tác khi được nhắc.
Thiết lập các nguyên tắc dịch vụ (cho CI/CD)
Đối với thử nghiệm tự động trong quy trình CI/CD, bạn có thể sử dụng nguyên tắc dịch vụ thay vì tài khoản người dùng tương tác.
Bước 1: Tạo một đăng ký ứng dụng trong Microsoft Entra ID
Hoàn tất các bước sau để tạo đơn đăng ký ứng dụng trong Microsoft Entra ID.
- đăng nhập vào trung tâm quản trị Microsoft Entra
- Điều hướng đến Ứng dụng>Đăng ký ứng dụng
- Chọn Đăng ký mới
- Nhập tên (Ví dụ "Test Engine Automation")
- Giữ nguyên các tùy chọn mặc định và chọn Đăng ký
- Sau khi tạo, hãy lưu ý ID ứng dụng (khách hàng) và ID thư mục (người thuê)
Bước 2: Cấu hình quyền API cho Dataverse
Hoàn tất các bước sau để cấu hình quyền API cho Dataverse.
- Trong quá trình đăng ký ứng dụng của bạn, hãy đi tới Quyền API
- Chọn Thêm quyền
- Chọn API mà tổ chức của tôi sử dụng
- Tìm kiếm và lựa chọn Dataverse
- Chọn Quyền được ủy quyền
- Kiểm tra user_impersonation
- Chọn Thêm quyền
- Chọn Cấp quyền cho quản trị viên
Bước 3: Tạo bí mật khách hàng
Hoàn thành các bước sau để tạo bí mật khách hàng.
- Đi tới Chứng chỉ & bí mật
- Chọn Bí mật khách hàng mới
- Thêm mô tả và chọn ngày hết hạn
- Sao chép ngay lập tức giá trị bí mật (bạn sẽ không thể nhìn thấy nó nữa)
Bước 4: Thêm người dùng ứng dụng vào Dataverse
Hoàn tất các bước sau để thêm người dùng ứng dụng vào Dataverse.
- Mở Power Platform Trung tâm quản trị
- Chọn môi trường của bạn
- Vào Cài đặt >Người dùng + quyền >Người dùng ứng dụng
- Chọn + Người dùng ứng dụng mới
- Tìm kiếm và chọn ứng dụng của bạn
- Chỉ định đơn vị kinh doanh và vai trò bảo mật phù hợp (bao gồm vai trò "Người dùng công cụ kiểm tra")
- Lưu các thay đổi
Bước 5: Cấu hình đường ống CI/CD của bạn
Thêm các biến này vào đường ống của bạn:
AZURE_CLIENT_ID: (your application ID)
AZURE_CLIENT_SECRET: (your client secret)
AZURE_TENANT_ID: (your tenant ID)
DataProtectionCertificateValue: (base64 encoded certificate)
ENVIRONMENT_URL: (your Dataverse environment URL)
Đối với Azure DevOps, hãy lưu trữ an toàn những dữ liệu này trong Nhóm biến với các quyền thích hợp.
PowerFx và xác thực kiểm tra trực tiếp Dataverse
Đối với các bài kiểm tra nhà cung cấp PowerFx và các bài kiểm tra trực tiếp, xác thực hoạt động khác so với các bài kiểm tra dựa trên web. Dataverse
Cách thức hoạt động của xác thực PowerFx/Dataverse
- Test Engine sử dụng Azure CLI để lấy mã thông báo truy cập tài nguyên cụ thể
- Mã thông báo được sử dụng để xác thực trực tiếp với Dataverse API
- Không cần xác thực qua trình duyệt hoặc dựa trên web
Thiết lập xác thực PowerFx/Dataverse
Đảm bảo Azure CLI được cài đặt và cập nhật:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeđăng nhập bằng Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsChạy thử nghiệm với nhà cung cấp PowerFx:
pac test run ` --provider powerfx ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-id ` --domain "https://your-environment.crm.dynamics.com"
Xử lý sự cố xác thực
Phần này chứa thông tin về cách khắc phục sự cố xác thực bằng Test Engine.
Các vấn đề thường gặp với StorageState
Sự cố: Lời nhắc xác thực xuất hiện ở mỗi lần chạy.
- Giải pháp: Kiểm tra xem bạn đã chọn Giữ trạng thái đăng nhập khi đăng nhập chưa.
Sự cố:
Cannot access secure storagelỗi.- Giải pháp: Đảm bảo rằng bạn có quyền truy cập phù hợp vào thư mục hồ sơ người dùng của mình.
Các vấn đề thường gặp với xác thực Dataverse
Sự cố:
Certificate not foundlỗi.- Giải pháp: Xác minh rằng tên chứng chỉ khớp chính xác với tên có trong kho chứng chỉ của bạn.
Sự cố:
Unable to connect to Dataverselỗi.-
Giải pháp: Kiểm tra xem Azure CLI đã được đăng nhập bằng
az login --allow-no-subscriptionschưa.
-
Giải pháp: Kiểm tra xem Azure CLI đã được đăng nhập bằng
Sự cố:
Access deniedlỗi với nguyên tắc dịch vụ.- Giải pháp: Xác minh ứng dụng có đúng quyền trong Dataverse và vai trò bảo mật phù hợp.
Các vấn đề thường gặp với xác thực PowerFx/Dataverse
Sự cố:
Unable to obtain access tokenlỗi-
Giải pháp: Xác minh bạn đã đăng nhập bằng Azure CLI bằng cách sử dụng
az account get-access-token
-
Giải pháp: Xác minh bạn đã đăng nhập bằng Azure CLI bằng cách sử dụng
Vấn đề:
Access deniedvới Dataverse- Giải pháp: Đảm bảo người dùng đã đăng nhập của bạn có quyền thích hợp trong môi trường Dataverse
Vấn đề: Mã thông báo hết hạn trong quá trình chạy thử nghiệm dài
- Giải pháp: Sử dụng nguyên tắc dịch vụ với thời gian hết hạn mã thông báo dài hơn hoặc xử lý xác thực lại trong các bước thử nghiệm
Bài viết liên quan
Kiến trúc bảo mật xác thực
Ứng dụng thử nghiệm canvas
Kiểm tra các ứng dụng dựa trên mô hình
Kiểm tra phần mở rộng Dataverse