Chia sẻ qua


Khả năng mở rộng của Test Engine (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.

Tổng quan

Power Apps Test Engine có một khuôn khổ mở rộng mạnh mẽ cho phép mở rộng các khả năng thử nghiệm cốt lõi thông qua nhiều điểm mở rộng khác nhau. Bài viết này giải thích:

  • Cách Microsoft ký và xác thực tiện ích mở rộng của bên thứ nhất
  • Mô hình mở rộng hoạt động như thế nào khi sử dụng Khung mở rộng được quản lý (MEF)
  • Các tùy chọn cho tổ chức để tạo tiện ích mở rộng của riêng họ

Các thành phần được Microsoft ký

Quan trọng

Trong giai đoạn xem trước công khai, lệnh chạy thử nghiệm pac chỉ tải các tiện ích mở rộng đã được Microsoft ký. Thiết kế này đảm bảo tính bảo mật, ổn định và hiệu suất của nền tảng Test Engine.

Microsoft xây dựng, ký và xác thực các thành phần của bên thứ nhất để đảm bảo chúng đáp ứng các tiêu chuẩn về chất lượng và bảo mật. Các thành phần này bao gồm:

  • Nhà cung cấp xác thực cốt lõi
  • Nhà cung cấp ứng dụng Canvas và ứng dụng dựa trên mô hình
  • Chức năng và hành động chuẩn Power Fx

Khung mở rộng (MEF)

Test Engine sử dụng Khung mở rộng được quản lý (MEF) để cho phép kiến trúc có thể cắm được. Khung này cho phép ba loại tiện ích mở rộng chính:

Mở rộng xác thực

Tiện ích mở rộng xác thực cho phép xác thực theo nhiều cách khác nhau với Power Platform:

  • Xác thực trạng thái lưu trữ - Phương pháp xác thực mặc định dựa trên trình duyệt
  • Xác thực dựa trên chứng chỉ - Dành cho việc thực hiện thử nghiệm không tương tác
  • Nhà cung cấp xác thực tùy chỉnh - Dành cho các tình huống xác thực chuyên biệt

Để biết thêm thông tin, hãy xem Xác thực trong Công cụ kiểm tra.

Tiện ích mở rộng của nhà cung cấp

Tiện ích mở rộng của nhà cung cấp cho phép thử nghiệm các loại ứng dụng khác nhau:

  • Nhà cung cấp ứng dụng Canvas - Để thử nghiệm Power Apps các ứng dụng canvas
  • Nhà cung cấp ứng dụng theo mô hình - Để thử nghiệm Dataverse ứng dụng theo mô hình
  • Power Fx Nhà cung cấp - Để thực hiện Power Fx các câu lệnh một cách độc lập
  • Nhà cung cấp cổng thông tin - Để tự động hóa các hoạt động trong Power Apps

Để biết thêm thông tin, hãy xem Ứng dụng Canvas, Ứng dụng dựa trên mô hìnhDataverse Phần mở rộng.

Power Fx phần mở rộng

Power Fx tiện ích mở rộng bổ sung khả năng thử nghiệm mới thông qua các chức năng tùy chỉnh:

  • Các hàm do người dùng định nghĩa - Các hàm mã thấp được định nghĩa trong kế hoạch thử nghiệm
  • Triển khai C# ReflectionFunction - Các hàm tùy chỉnh được triển khai trong các mô-đun C#

Để biết thêm thông tin, hãy xem Power Fx HàmTriển khai hàm phản chiếu C#.

Tùy chọn phát triển mở rộng

Các tổ chức có nhiều lựa chọn để mở rộng Test Engine:

Sử dụng phiên bản mã nguồn mở

Công cụ kiểm tra Power Apps có sẵn dưới dạng dự án nguồn mở theo giấy phép MIT. Microsoft bên thứ nhất, các nhóm bên thứ ba và các tổ chức có thể:

  • Tạo nhà cung cấp mới cho các tình huống thử nghiệm chuyên biệt
  • Phát triển cơ chế xác thực tùy chỉnh
  • Xây dựng các triển khai C# ReflectionFunction mới
  • Tạo các mô-đun mở rộng chức năng cốt lõi
  • Gửi các đóng góp để xem xét trong sản phẩm cốt lõi

Power Fx chức năng do người dùng định nghĩa

Đối với các tình huống đơn giản hơn, bạn có thể tạo các hàm do người dùng xác định trực tiếp trong kế hoạch thử nghiệm của mình:

testSuite:
  testCases:
    - testCaseName: "Test with custom functions"
      userDefineFunctions:
        - name: "FormatDateString"
          parameters: [date]
          expression: "Text(date, 'yyyy-MM-dd')"
      steps:
        # Use the custom function in your test steps
        - action: PowerFxTestStep
          expression: FormatDateString(Now())

Các hàm C# Power Fx tùy chỉnh với ReflectionFunction

Đối với các tình huống phức tạp hơn, các tổ chức có thể phát triển các hàm C# tùy chỉnh bằng cách triển khai lớp ReflectionFunction và đăng ký chúng thông qua một mô-đun:

// Define your function class
public class SampleFunction : ReflectionFunction
{
    public SampleFunction() : base(DPath.Root.Append(new DName("Preview")), "Sample", FormulaType.Blank)
    {
    }

    public BlankValue Execute()
    {
        Console.WriteLine("Sample function executed");
        return BlankValue.NewBlank();
    }
}

// Register your function in a module
[Export(typeof(ITestEngineModule))]
public class TestEngineSampleModule : ITestEngineModule
{
    public void RegisterPowerFxFunction(PowerFxConfig config, ITestInfraFunctions testInfraFunctions, 
        ITestWebProvider testWebProvider, ISingleTestInstanceState singleTestInstanceState, 
        ITestState testState, IFileSystem fileSystem)
    {
        config.AddFunction(new SampleFunction());
    }
    
    // Implement other required interface methods...
}

Hợp tác với nhóm Test Engine

Các tổ chức phát triển các tiện ích mở rộng có giá trị bằng cách sử dụng Test Engine nguồn mở có thể cân nhắc tạo yêu cầu kéo cho các tiện ích mở rộng của mình để đưa chúng vào sản phẩm chính thức. Quá trình này thường bao gồm:

  1. Phát triển - Tạo tiện ích mở rộng của bạn bằng cách sử dụng Công cụ kiểm tra nguồn mở
  2. Xác thực - Kiểm tra kỹ lưỡng phần mở rộng của bạn trong môi trường của riêng bạn
  3. Hợp tác - Làm việc với nhóm Core Test Engine để đánh giá phần mở rộng
  4. Tích hợp - Nếu được chấp thuận, Microsoft sẽ ký và tích hợp phần mở rộng vào sản phẩm

Mô hình hợp tác này cho phép đổi mới trong khi vẫn duy trì tính bảo mật và độ tin cậy của sản phẩm Test Engine chính thức.

Điểm tích hợp kỹ thuật

Các phần sau đây mô tả cách khả năng mở rộng của Test Engine tích hợp với các công nghệ cốt lõi như Playwright và vòng đời tính năng. Hiểu được những điểm tích hợp này sẽ giúp bạn phát triển và triển khai các tiện ích mở rộng tùy chỉnh một cách hiệu quả.

Tích hợp nhà viết kịch

Power Apps Test Engine được xây dựng dựa trên Playwright, cung cấp nền tảng cho việc tự động hóa trình duyệt. Tiện ích mở rộng tùy chỉnh có thể tương tác với IBrowserContext của Playwright để tạo ra các khả năng thử nghiệm dựa trên trình duyệt phức tạp.

Vòng đời tính năng

Các tiện ích mở rộng mới tuân theo Vòng đời tính năng:

  1. Không gian tên xem trước - Các tiện ích mở rộng mới đầu tiên có sẵn trong không gian tên Xem trước để thử nghiệm sớm
  2. Không gian tên TestEngine - Sau khi xác thực, các phần mở rộng sẽ di chuyển đến không gian tên TestEngine cốt lõi

Lợi ích của mô hình mở rộng

Mô hình mở rộng mang lại những lợi ích đáng kể:

  • Chuẩn hóa - Các thành phần được Microsoft ký đảm bảo chất lượng và bảo mật nhất quán
  • Đổi mới - Mô hình nguồn mở cho phép đổi mới do cộng đồng thúc đẩy
  • Tính linh hoạt - Các tổ chức có thể tạo các tiện ích mở rộng chuyên biệt cho các yêu cầu riêng biệt
  • Tích hợp - Các phần mở rộng có giá trị được xem xét để đưa vào sản phẩm chính thức