Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
Обзор
Power Apps Test Engine обладает надежной инфраструктурой расширяемости, которая позволяет расширять основные возможности тестирования с помощью различных точек расширения. В этой статье объясняется:
- Как Microsoft подписывает и проверяет собственные расширения
- Как работает модель расширяемости с использованием Managed Extensibility Framework (MEF)
- Возможности для организаций создавать собственные расширения
Компоненты, подписанные Microsoft
Внимание!
На этапе публичного предварительного просмотра команда pac test run загружает только расширения, подписанные Microsoft. Такая конструкция обеспечивает безопасность, стабильность и производительность платформы Test Engine.
Microsoft создает, подписывает и проверяет компоненты собственной разработки, чтобы гарантировать их соответствие стандартам качества и безопасности. Эти компоненты включают в себя:
- Основные поставщики аутентификации
- Поставщики приложений Canvas и приложений на основе моделей
- Стандартные Power Fx функции и действия
Фреймворк расширяемости (MEF)
Тестовый движок использует Managed Extensibility Framework (MEF) для реализации подключаемой архитектуры. Эта структура допускает три основных типа расширений:
Расширения аутентификации
Расширения аутентификации позволяют использовать различные способы аутентификации с помощью Power Platform:
- Аутентификация состояния хранилища — метод аутентификации по умолчанию на основе браузера.
- Аутентификация на основе сертификатов — для неинтерактивного выполнения тестов
- Поставщики пользовательских служб аутентификации — для специализированных сценариев аутентификации
Для получения дополнительной информации см. раздел Аутентификация в тестовом движке.
Расширения провайдера
Расширения провайдера позволяют тестировать различные типы приложений:
- Поставщик приложений Canvas — для тестирования Power Apps приложений Canvas
- Поставщик приложений на основе моделей — для тестирования Dataverse приложений на основе моделей
- Power Fx Поставщик - Для выполнения Power Fx заявлений независимо
- Поставщик портала - Для автоматизации операций в Power Apps
Дополнительные сведения см. в разделах Приложения Canvas, Приложения, управляемые моделями и Dataverse Расширения.
Power Fx расширения
Power Fx Расширения добавляют новые возможности тестирования с помощью пользовательских функций:
- Пользовательские функции - низкокодовые функции, определенные в плане тестирования
- Реализации функций отражения в C# - Пользовательские функции, реализованные в модулях C#
Дополнительные сведения см. в разделах Power Fx Функции и Реализации функций Reflection в C#.
Варианты развития расширений
У организаций есть несколько вариантов расширения Test Engine:
Использование версии с открытым исходным кодом
Power Apps Test Engine доступен как проект с открытым исходным кодом по лицензии MIT. Собственные компании Microsoft, сторонние команды и организации могут:
- Создайте новых поставщиков для специализированных сценариев тестирования
- Разработать собственные механизмы аутентификации
- Создание новых реализаций ReflectionFunction на C#
- Создавайте модули, расширяющие основные функции
- Подайте заявку на рассмотрение в основном продукте
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 для оценки расширения
- Интеграция - В случае одобрения Microsoft подписывает и интегрирует расширение в продукт.
Такая модель сотрудничества позволяет внедрять инновации, сохраняя при этом безопасность и надежность официального продукта Test Engine.
Технические точки интеграции
В следующих разделах описывается, как расширяемость Test Engine интегрируется с основными технологиями, такими как Playwright и жизненный цикл функций. Понимание этих точек интеграции поможет вам эффективно разрабатывать и развертывать пользовательские расширения.
Интеграция драматурга
Power Apps Тестовый движок создан на основе Playwright, который обеспечивает основу для автоматизации браузера. Пользовательские расширения могут взаимодействовать с IBrowserContext Playwright для создания сложных возможностей тестирования на основе браузера.
Жизненный цикл функции
Новые расширения следуют жизненному циклу функции:
- Пространство имен Preview - Новые расширения сначала доступны в пространстве имен Preview для предварительного тестирования.
- Пространство имен TestEngine - После проверки расширения перемещаются в основное пространство имен TestEngine.
Преимущества модели расширяемости
Модель расширяемости обеспечивает значительные преимущества:
- Стандартизация - Компоненты, подписанные Microsoft, обеспечивают стабильное качество и безопасность.
- Инновации - Модель с открытым исходным кодом позволяет создавать инновации, инициированные сообществом.
- Гибкость - Организации могут создавать специализированные расширения для уникальных требований.
- Интеграция - Ценные расширения рассматриваются для включения в официальный продукт.