Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Нотатка
Підготовчі функції призначені для невиробничого використання і можуть бути обмежені. Ці функції доступні до офіційного випуску, щоб клієнти могли ознайомитися з ними заздалегідь і залишити відгуки.
Зведення
Power Apps Test Engine має надійну структуру розширюваності, яка дозволяє розширювати основні можливості тестування за допомогою різних точок розширення. У цій статті пояснюється:
- Як корпорація Майкрософт підписує та перевіряє власні розширення
- Як працює модель розширюваності з використанням Managed Extensibility Framework (MEF)
- Варіанти створення організаціями власних розширень
Компоненти, підписані корпорацією Майкрософт
Важливо
Під час фази загальнодоступного попереднього перегляду команда тестового запуску pac завантажує лише розширення, підписані Microsoft. Така конструкція забезпечує безпеку, стабільність і продуктивність платформи Test Engine.
Корпорація Майкрософт створює, підписує та перевіряє власні компоненти, щоб гарантувати, що вони відповідають стандартам якості та безпеки. До таких компонентів належать:
- Основні постачальники автентифікації
- Постачальники програм на основі Canvas і моделей
- Стандартні Power Fx функції та дії
Рамкова розширюваність (MEF)
Test Engine використовує Managed Extensibility Framework (MEF) для забезпечення архітектури, що підключається. Цей фреймворк дозволяє три основні типи розширень:
Розширення автентифікації
Розширення автентифікації дають змогу автентифікуватися за допомогою таких способів Power Platform:
- Автентифікація стану сховища – метод автентифікації на основі браузера за замовчуванням
- Автентифікація на основі сертифіката - Для виконання неінтерактивних тестів
- Постачальники користувацької автентифікації - для спеціалізованих сценаріїв автентифікації
Щоб отримати докладнішу інформацію, перегляньте статтю Автентифікація в Test Engine.
Розширення провайдера
Розширення провайдера дозволяють тестувати різні типи додатків:
- Постачальник додатків Canvas - для тестування Power Apps додатків на полотні
- Постачальник додатків на основі моделі - для тестування Dataverse додатків на основі моделі
- Power Fx Провайдер- Для самостійного Power Fx виконання виписок
- Постачальник порталу - Для автоматизації операцій в Power Apps
Щоб отримати додаткові відомості, перегляньте статті Програми на полотні, Програми, керовані моделлю, і Dataverse Розширення.
Power Fx Розширення
Power Fx Розширення додають нові можливості тестування за допомогою користувацьких функцій:
- Функції , визначені користувачем - Low-code функції, визначені в тестовому плані
- Реалізації функцій відображення C# - Користувацькі функції, реалізовані в модулях C#
Для отримання додаткової інформації дивіться Power Fx Функції та реалізації C# ReflectionFunction.
Варіанти розробки розширень
Організації мають кілька варіантів розширення Test Engine:
Використання версії з відкритим вихідним кодом
Test Power Apps Engine доступний як проект з відкритим вихідним кодом за ліцензією MIT. Корпорація Майкрософт, сторонні команди та організації можуть:
- Створюйте нових провайдерів для спеціалізованих сценаріїв тестування
- Розробіть власні механізми автентифікації
- Створення нових реалізацій C# ReflectionFunction
- Створюйте модулі, що розширюють основний функціонал
- Подавайте внески на розгляд в основному продукті
Power Fx Функції, визначені користувачем
Для простіших сценаріїв ви можете створювати визначені користувачем функції безпосередньо в тестових планах:
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# Power Fx з ReflectionFunction
Для більш складних сценаріїв організації можуть розробляти користувацькі функції C#, реалізуючи ReflectionFunction клас і реєструючи їх через модуль:
// 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...
}
Співпраця з командою Test Engine
Організації, які розробляють цінні розширення за допомогою Test Engine з відкритим вихідним кодом, можуть розглянути можливість створення запиту на злиття для своїх розширень, щоб зробити їх доступними в офіційному продукті. Процес, як правило, включає:
- Розробка - Створіть своє розширення, використовуючи тестовий движок з відкритим вихідним кодом
- Валідація - Ретельно перевірте своє розширення у власному середовищі
- Співпраця - Працюйте з командою Core Test Engine, щоб оцінити розширення
- Інтеграція : у разі схвалення корпорація Майкрософт підписує та інтегрує розширення в продукт
Ця модель співпраці дозволяє впроваджувати інновації, зберігаючи при цьому безпеку та надійність офіційного продукту Test Engine.
Технічні точки інтеграції
У наступних розділах описано, як розширюваність тестового двигуна інтегрується з основними технологіями, такими як Playwright, і життєвий цикл функцій. Розуміння цих аспектів інтеграції допоможе вам ефективно розробляти та впроваджувати власні розширення.
Інтеграція з драматургом
Power Apps Test Engine побудований на основі Playwright, що забезпечує основу для автоматизації браузера. Користувацькі розширення можуть взаємодіяти з IBrowserContext від Playwright , створюючи складні можливості тестування на основі браузера.
Життєвий цикл функцій
Нові розширення відповідають життєвому циклу функцій:
- Простір імен попереднього перегляду – нові розширення вперше доступні в просторі імен Preview для раннього тестування.
- Простір імен TestEngine – після перевірки розширення переміщуються до основного простору імен TestEngine.
Переваги моделі розтяжності
Модель розтяжності дає значні переваги:
- Стандартизація – компоненти, підписані Microsoft, забезпечують стабільну якість і безпеку
- Інновації - Модель відкритого вихідного коду дозволяє впроваджувати інновації, керовані спільнотою
- Гнучкість - Організації можуть створювати спеціалізовані розширення для унікальних вимог
- Інтеграція - Цінні розширення розглядаються для включення в офіційний продукт