Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
Бележка
Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.
Преглед
Power Apps Test Engine разполага със стабилна рамка за разширяване, която позволява основните възможности за тестване да бъдат разширени чрез различни точки на разширение. Тази статия обяснява:
- Как Microsoft подписва и проверява разширения от първа страна
- Как работи моделът на разширяемост с помощта на Managed Extensibility Framework (MEF)
- Опции за организациите да създават свои собствени разширения
Компоненти, подписани от Microsoft
Важно
По време на фазата на публичен предварителен преглед командата за тестово изпълнение на pac зарежда само разширения, подписани от Microsoft. Този дизайн гарантира сигурност, стабилност и производителност на платформата Test Engine.
Microsoft създава, подписва и валидира компоненти на собствени страни, за да гарантира, че отговарят на стандартите за качество и защита. Тези компоненти включват:
- Основни доставчици на удостоверяване
- Доставчици на приложения за платно и приложения, управлявани от модел
- Стандартни Power Fx функции и действия
Рамка за разширяване (MEF)
Test Engine използва Managed Extensibility Framework (MEF), за да разреши pluggable архитектура. Тази рамка позволява три основни типа разширения:
Разширения за удостоверяване
Разширенията за удостоверяване позволяват различни начини за удостоверяване с: Power Platform
- Удостоверяване на състоянието на съхранението – Методът за удостоверяване по подразбиране, базиран на браузър
- Удостоверяване , базирано на сертификат - За неинтерактивно изпълнение на тестове
- Персонализирани доставчици на удостоверяване - За специализирани сценарии за удостоверяване
За повече информация вижте Удостоверяване в тестовата машина.
Разширения за доставчици
Разширенията на доставчиците позволяват тестване на различни видове приложения:
- Доставчик на приложения за платно - За тестване Power Apps на приложения за платно
- Доставчик на приложения, управлявани от модел - За тестване Dataverse на приложения, управлявани от модел
- Power Fx Доставчик - За самостоятелно изпълнение Power Fx на изявления
- Доставчик на портал - За автоматизиране на операциите в Power Apps
За повече информация вижте Приложения за платно, приложения, управлявани от модел, и Dataverse разширения.
Power Fx Разширения
Power Fx Разширенията добавят нови възможности за тестване чрез персонализирани функции:
- Дефинирани от потребителя функции - Функции с нисък код, дефинирани в тестовия план
- C# ReflectionImplementation Function - Персонализирани функции, реализирани в C# модули
За повече информация вижте Power Fx Функции и C# ReflectionImplementation Implementations.
Опции за развитие на разширения
Организациите имат множество опции за разширяване на тестовата машина:
Използване на версията с отворен код
Power Apps Тестовият двигател се предлага като проект с отворен код под лиценза на MIT. Екипите на Microsoft от първа страна, екипите и организациите на трети страни могат:
- Създаване на нови доставчици за специализирани сценарии за тестване
- Разработване на персонализирани механизми за удостоверяване
- Създайте нови реализации на 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
Организациите, които разработват ценни разширения с помощта на тестовата машина с отворен код, могат да обмислят създаването на заявка за изтегляне за своите разширения, за да ги направят достъпни в официалния продукт. Процесът обикновено включва:
- Разработка - Създайте вашето разширение с помощта на тестовия двигател с отворен код
- Валидиране - Тествайте разширението си задълбочено във вашата собствена среда
- Сътрудничество - Работете с екипа на Core Test Engine, за да оцените разширението
- Интеграция - Ако бъде одобрена, Microsoft подписва и интегрира разширението в продукта
Този модел на сътрудничество дава възможност за иновации, като същевременно поддържа сигурността и надеждността на официалния продукт Test Engine.
Точки за техническа интеграция
Следващите раздели описват как разширяемостта на Test Engine се интегрира с основни технологии като Playwright и жизнения цикъл на функциите. Разбирането на тези точки за интеграция ви помага да разработвате и внедрявате ефективно персонализирани разширения.
Интеграция на драматург
Power Apps Test Engine е изграден върху Playwright, което осигурява основата за автоматизация на браузъра. Персонализираните разширения могат да взаимодействат с IBrowserContext на Playwright, за да създадат сложни възможности за тестване, базирани на браузър.
Жизнен цикъл на функцията
Новите разширения следват жизнения цикъл на функцията:
- Пространство от имена за предварителен преглед – Новите разширения са налични за първи път в пространството от имена за предварителен преглед за ранно тестване
- Пространство от имена на TestEngine - След валидиране разширенията се преместват в основното пространство от имена на TestEngine
Предимства на модела на разширяемост
Моделът на разширяемост осигурява значителни предимства:
- Стандартизация - Подписаните от Microsoft компоненти гарантират постоянно качество и сигурност
- Иновация - Моделът с отворен код позволява иновации, управлявани от общността
- Гъвкавост - Организациите могат да създават специализирани разширения за уникални изисквания
- Интеграция - Ценни разширения се разглеждат за включване в официалния продукт