Chia sẻ qua


Định dạng YAML của Công cụ Kiểm tra Power Apps (bản xem trướ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.

Kiểm tra được xác định trong YAML theo các hướng dẫn tương tự như power Fx. Tìm hiểu thêm về ngữ pháp công thức Power Fx YAML.

Xem thư mục PowerApps-TestEngine/mẫu để biết các ví dụ chi tiết.

Định nghĩa sơ đồ YAML

Tài sản Description
testSuite Xác định một bộ thử nghiệm, các trường hợp thử nghiệm trong bộ kiểm tra và cấu hình cụ thể cho bộ thử nghiệm
thiết đặt kiểm tra Xác định thiết đặt cho bộ kiểm tra được tái sử dụng trên nhiều trường hợp thử nghiệm
environmentVariables Xác định các biến có khả năng thay đổi khi ứng dụng được nối cổng trên các môi trường khác nhau

testSuite

Được sử dụng để xác định một kiểm tra.

Tài sản Kiểu Description
persona chuỗi Yêu cầu. Người dùng đã đăng nhập để thực hiện kiểm tra. Phải khớp với một cá nhân được liệt kê trong phần Người dùng.
testCases TestCases Yêu cầu. Xác định các trường hợp thử nghiệm trong bộ kiểm tra. Các trường hợp kiểm tra chứa trong bộ kiểm tra được chạy tuần tự. Trạng thái ứng dụng được duy trì trên tất cả các trường hợp thử nghiệm trong một bộ sản phẩm.
testSuiteName chuỗi Yêu cầu. Tên của bộ bài kiểm tra.
appLogicalName chuỗi Tùy chọn. Tên lô-gic của ứng dụng sẽ được khởi chạy. Nó có thể được lấy từ giải pháp. Đối với ứng dụng bảng tùy biến, bạn cần thêm nó vào một giải pháp để có được nó. Xem Cách xác định đơn đăng ký của bạn trong kế hoạch kiểm tra
appId Guid Tùy chọn. ID của ứng dụng sẽ được khởi chạy. Bắt buộc và chỉ được sử dụng appLogicalName khi không có. ID ứng dụng chỉ nên được sử dụng cho các ứng dụng bảng tùy biến không có trong giải pháp. Xem Cách xác định đơn đăng ký của bạn trong kế hoạch kiểm tra
networkRequestMocks NetworkRequestMocks Tùy chọn. Xác định mô hình yêu cầu mạng cần thiết cho kiểm tra.
onTestCaseComplete chuỗi Tùy chọn. Xác định các bước cần được kích hoạt cho mọi trường hợp thử nghiệm trong một bộ sau khi trường hợp kết thúc thực thi.
onTestCaseStart chuỗi Tùy chọn. Xác định các bước cần được kích hoạt cho mọi trường hợp thử nghiệm trong một bộ trước khi trường hợp bắt đầu thực thi.
onTestSuiteComplete chuỗi Tùy chọn. Xác định các bước cần được kích hoạt sau khi bộ hoàn tất thực thi.
testSuiteDescription chuỗi Tùy chọn. Thông tin bổ sung mô tả chức năng của bộ kiểm tra.

Làm thế nào để xác định ứng dụng của bạn trong kế hoạch thử nghiệm

Bạn cần đặt một trong hai hoặc appLogicalName để appId nhận dạng ứng dụng của bạn. Việc bạn sử dụng ứng dụng nào tùy thuộc vào việc ứng dụng của bạn có được xác định trong giải pháp hay không.

Khi bạn xác định các ứng dụng trong các giải pháp, các thử nghiệm của bạn vẫn di động trên nhiều môi trường. Đặt thuộc appLogicalName tính để cho biết ứng dụng dựa trên giải pháp.

Để định vị tên lô-gic của ứng dụng:

  1. Mở giải pháp chứa ứng dụng của bạn trong Power Apps
  2. Dùng Tên ( không phải Tên Hiển thị) trong danh sách. Giá trị tên bao gồm tiền tố tùy chỉnh cho nhà phát hành giải pháp.

Ứng dụng độc lập

Khi ứng dụng của bạn không được xác định trong giải pháp, bạn cần sử dụng thuộc tính appId đó.

Để xác định ID của ứng dụng:

  1. Định vị ứng dụng trong danh sách Power Apps
  2. Mở Chi tiết và ghi lại GUID ID Ứng dụng

NetworkRequestMocks

Tài sản Kiểu Description
requestURL chuỗi Yêu cầu. URL yêu cầu nhận phản hồi giả. Mẫu glob được chấp nhận
responseDataFile chuỗi Yêu cầu. Tệp văn bản có nội dung phản hồi giả. Tất cả văn bản trong tệp này được đọc là phản hồi
headers mảng Tùy chọn. Danh sách các trường tiêu đề trong yêu cầu theo định dạng [fieldName: fieldValue]
method chuỗi Tùy chọn. Phương thức của yêu cầu (GET, POST, v.v.)
requestBodyFile chuỗi Tùy chọn. Tệp văn bản với nội dung yêu cầu. Tất cả văn bản trong tệp này được đọc như nội dung yêu cầu

Đối với các thuộc tính tùy chọn, nếu không có giá trị nào được chỉ định, định tuyến sẽ áp dụng cho tất cả. Ví dụ, nếu là method null, chúng tôi gửi lại phản hồi giả bất cứ điều gì phương pháp là miễn là các thuộc tính khác tất cả phù hợp.

Đối với các ứng dụng Sharepoint/Dataverse/Connector và requestURL có thể method giống nhau cho tất cả các yêu cầu. x-ms-request-method và trong x-ms-request-url tiêu đề có thể cần phải được cấu hình trong trường hợp đó để xác định các yêu cầu khác nhau.

TestCases

Tài sản Kiểu Description
testCaseName chuỗi Yêu cầu. Tên của trường hợp thử nghiệm được sử dụng trong báo cáo thành công và thất bại
testSteps TestSteps Yêu cầu. Một tập hợp các hàm Power Fx mô tả các bước cần thiết để thực hiện trường hợp thử nghiệm. Xem ví dụ về TestSteps
testCaseDescription Không Tùy chọn. Thông tin bổ sung mô tả những gì trường hợp thử nghiệm thực hiện

TestSteps

  • TestSteps có thể sử dụng bất kỳ chức năng Power Fx của Công cụ Kiểm tra hiện có hoặc các hàm kiểm tra cụ thể được định nghĩa bởi khung này.
  • Giá trị sẽ bắt đầu bằng ký hiệu đường ống (|) để cho phép các biểu thức YAML nhiều dòng theo sau là dấu bằng (=) để biểu thị rằng đó là biểu thức Power Fx
  • Các hàm phải được phân tách bằng dấu chấm phẩy (;).
  • Có thể sử dụng chú thích và bắt đầu bằng ký tự dấu gạch chéo ngược kép (//).

Ví dụ về TestSteps

testCases:
   - testCaseName: Fill in a city name and do the search
   testSteps: |
      = Screenshot("connectorapp_loaded.png");
         SetProperty(TextInput1.Text, "Atlanta");
         Select(Button1);
         Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
         Screenshot("connectorapp_end.png");

thiết đặt kiểm tra

Được dùng để xác định thiết đặt cho các bài kiểm tra trong kế hoạch kiểm tra.

Tài sản Kiểu Description
browserConfigurations Cấu hình Trình duyệt[] Yêu cầu. Danh sách các cấu hình trình duyệt sẽ được kiểm tra. Phải xác định ít nhất một trình duyệt.
extensionModules extensionModules Tùy chọn. Chứa dữ liệu về các tiện ích bổ sung cần bật.
filePath chuỗi Tùy chọn. Đường dẫn tệp đến một tệp yaml riêng biệt với tất cả các thiết đặt kiểm tra. Nếu được cung cấp, nó sẽ ghi đè tất cả các thiết đặt thử nghiệm trong kế hoạch thử nghiệm.
headless boolean Tùy chọn. Mặc định là true. Nếu được đặt là false, trình duyệt sẽ hiển thị trong khi thực thi kiểm tra.
locale chuỗi Tùy chọn. Cú pháp bản địa/văn hóa nơi viết các trường hợp thử nghiệm hoặc các bước kiểm tra. Nếu không xác định, được dùng CultureInfo.CurrentCulture cho bản địa theo mặc định để phân tích các bước kiểm tra. Xem các cân nhắc về khu vực và ngôn ngữ
recordVideo boolean Tùy chọn. Mặc định là false. Nếu được đặt là true, một đoạn video ghi lại bài kiểm tra sẽ được ghi lại.
timeout số nguyên Tùy chọn. Giá trị thời gian chờ tính bằng mili giây. Mặc định là 30.000 mili giây (30s). Nếu bất kỳ thao tác nào mất nhiều thời gian hơn giới hạn thời gian chờ, thao tác đó sẽ kết thúc kiểm tra trong một lần thất bại.
powerFxTestTypes name value đôi Tùy chọn. Danh sách tên loại và định nghĩa loại Power Fx. Xem ví dụ về powerFxTestTypes
testFunctions description code đôi Tùy chọn. Danh sách mô tả và định nghĩa hàm Power Fx. Xem ví dụ về testFunctions

extensionModules

Chứa dữ liệu về các tiện ích bổ sung cần bật.

Tài sản Kiểu Description
enable bool Có bật mô-đun mở rộng hay không.
allowPowerFxNamespaces list Danh sách không gian tên PowerFx cần bật.
parameters các cặp giá trị khóa Thuộc tính có giá trị để kiểm soát mô-đun phần mở rộng. Tại thời điểm này, chỉ có tham số boolean enableDataverseFunctions hợp lệ cho tham số này.

Ví dụ này cho thấy cách bật không gian tên PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Tìm hiểu thêm về các hàm xem trước

Cân nhắc về khu vực và ngôn ngữ

Công cụ Kiểm tra hỗ trợ các thiết đặt vùng và ngôn ngữ khác nhau như dấu thập phân và dấu tách danh sách. Thuộc tính testSettings.locale kiểm soát những hành vi này. Để biết thêm thông tin, hãy xem Hỗ trợ Toàn cầu trong Microsoft Power Fx.

Hãy xem các cấu hình mẫu nàyPowerApps-TestEngine kho GitHub:

ví dụ về powerFxTestTypes

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

Ví dụ này minh họa cách xác định các loại Power Fx tùy chỉnh để sử dụng trong các trường hợp thử nghiệm của bạn. Loại ControlName được xác định Text là một bản ghi với một trường duy nhất, Options trong khi loại đó được xác định là một bảng bản ghi, NameTextValue mỗi loại chứa một trường loại và một trường loại .Number Các loại tùy chỉnh có thể được sử dụng để tạo các kịch bản thử nghiệm phức tạp và cụ thể hơn, tăng cường tính linh hoạt và sức mạnh của các định nghĩa kiểm tra của bạn.

ví dụ về testFunctions

testFunctions:
 - description: Wait until control is visible using Document Object Model (DOM) selector
   code: |
    WaitUntilVisible(control: Text): Void = 
      Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
 - description: Get the options for a control using Power Fx control from Model Driven App (MDA)
   code: |
    GetOptions(control: ControlName): Options =
      Preview.GetOptions(control);

Các ví dụ về hàm kiểm tra này thể hiện cách xác định các hàm Power Fx tùy chỉnh để sử dụng trong các trường hợp thử nghiệm của bạn. Hàm WaitUntilVisible này sử dụng bộ chọn DOM để chờ cho đến khi điều khiển được chỉ định hiển thị, bằng cách sử dụng các hành động Playwright. Hàm GetOptions truy xuất các tùy chọn cho một điều khiển được chỉ định từ Một Model Driven App (MDA), sử dụng điều khiển Power Fx. Các hàm tùy chỉnh này tăng cường tính linh hoạt và sức mạnh của các định nghĩa kiểm tra của bạn, cho phép các kịch bản thử nghiệm phức tạp và cụ thể hơn.

Cấu hình Trình duyệt

Mỗi testSettings yêu cầu ít nhất một BrowserConfiguration.

Tài sản Kiểu Description
browser chuỗi Yêu cầu. Trình duyệt sẽ được khởi chạy khi kiểm tra. Phải khớp với các trình duyệt được Playwright hỗ trợ.
device chuỗi Tùy chọn. Thiết bị sẽ mô phỏng khi khởi chạy trình duyệt. Phải khớp với các thiết bị được Playwright hỗ trợ
screenHeight số nguyên Tùy chọn. Chiều cao của màn hình sẽ sử dụng khi khởi chạy trình duyệt. Nếu được chỉ định, screenWidth cũng phải được xác định.
screenWidth số nguyên Tùy chọn. Chiều rộng của màn hình sẽ sử dụng khi khởi chạy trình duyệt. Nếu được chỉ định, screenHeight cũng phải được xác định.

environmentVariables

Bạn có thể lưu trữ các loại giá trị khác nhau dưới dạng giá trị môi trường, nhưng trường hợp phổ biến nhất là lưu trữ thông tin xác thực với danh sách người dùng.

Người dùng

Để đảm bảo thông tin xác thực được lưu trữ an toàn, định nghĩa kiểm tra sẽ tham chiếu người dùng bằng cách sử dụng personaName. Không hỗ trợ lưu trữ thông tin xác thực trong tệp kế hoạch kiểm tra.

Ví dụ:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
        - personaName: "User2"
          emailKey: "user2Email"

Định personaName nghĩa được sử dụng như một phần của định nghĩa kiểm tra để cho biết người dùng nào sẽ chạy kiểm tra dưới dạng.

Cơ chế lưu trữ thông tin đăng nhập được hỗ trợ

Để lưu trữ thông tin xác thực dưới dạng các biến môi trường, bạn có thể đặt chúng như sau:

# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

Trong YAML, hai thuộc tính cần được xác định để cho biết rằng thông tin đăng nhập của người dùng này được lưu trữ trong các biến môi trường:

  • emailKey: Biến môi trường dùng để lưu trữ email của người dùng.

Ví dụ YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Ví dụ về PowerShell để đặt thông tin xác thực người dùng dựa trên YAML:

$env:user1Email = "someone@example.com"

Xem thêm

Tổng quan về Công cụ Thử nghiệm Power Apps (bản xem trước)
Power Apps Chức năng của Công cụ kiểm tra Power Fx (xem trước)