Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Test Engine je zastaralý a v budoucí verzi se odebere. Ukázky Power Platform Playwright slouží k testování možností automatizace v Power Platform a Dynamics 365 službách.
Přehled
Power Apps Test Engine obsahuje robustní architekturu rozšiřitelnosti, která umožňuje rozšíření základních možností testování prostřednictvím různých bodů rozšíření. Tento článek vysvětluje:
- Jak společnost Microsoft podepisuje a ověřuje prvostranová rozšíření
- Jak funguje model rozšiřitelnosti s využitím frameworku Managed Extensibility Framework (MEF)
- Možnosti pro organizace, jak si vytvořit vlastní rozšíření
Komponenty podepsané společností Microsoft
Důležité
Během fáze veřejného náhledu příkaz pac test run načítá pouze rozšíření podepsaná společností Microsoft. Tato konstrukce zajišťuje bezpečnost, stabilitu a výkon platformy Test Engine.
Společnost Microsoft sestavuje, podepisuje a ověřuje komponenty první strany, aby zajistila, že splňují standardy kvality a zabezpečení. Mezi tyto komponenty patří:
- Poskytovatelé základního ověřování
- Poskytovatelé aplikací plátna a modelem řízených aplikací
- Standardní funkce a akce Power Fx
Rámec rozšiřitelnosti (MEF)
Testovací engine používá framework Managed Extensibility Framework (MEF) k umožnění architektury s pluginy. Tento rámec umožňuje tři hlavní typy rozšíření:
Rozšíření pro ověřování
Rozšíření ověřování umožňují různé způsoby ověřování pomocí Power Platform:
- Ověřování stavu úložiště – Výchozí metoda ověřování založená na prohlížeči
- Ověřování na základě certifikátu - Pro neinteraktivní provádění testů
- Poskytovatelé vlastního ověřování – Pro specializované scénáře ověřování
Další informace naleznete v části Ověřování v testovacím enginu.
Rozšíření poskytovatelů
Rozšíření poskytovatelů umožňují testování různých typů aplikací:
- Poskytovatel aplikací Canvas – Pro testování Power Apps aplikací Canvas
- Poskytovatel modelově řízených aplikací – Pro testování modelově řízených aplikací Dataverse
- Power Fx Provider - Pro nezávislé provádění Power Fx příkazů
- Poskytovatel portálu - Pro automatizaci operací v Power Apps
Další informace naleznete v Canvas Applications, Aplikace řízené modelem a Rozšíření Dataverse.
Power Fx rozšíření
Power Fx rozšíření přidávají nové testovací možnosti prostřednictvím vlastních funkcí:
- Uživatelsky definované funkce – Funkce s nízkým kódem definované v testovacím plánu
- Implementace funkcí reflexe v C# - Vlastní funkce implementované v modulech C#
Další informace naleznete v tématech Funkce Power Fx a Implementace funkcí odrazu v C#.
Možnosti vývoje rozšíření
Organizace mají několik možností, jak rozšířit Test Engine:
Použití verze open source
Testovací modul Power Apps je k dispozici jako open source projekt v rámci licence MIT. Interní tým Microsoftu, týmy třetích stran a organizace můžou:
- Vytvořte nové poskytovatele pro specializované testovací scénáře
- Vyvíjet vlastní mechanismy ověřování
- Vytváření nových implementací ReflectionFunction v jazyce C#
- Vytvářejte moduly, které rozšiřují základní funkcionalitu
- Zašlete příspěvky k posouzení v rámci hlavního produktu
Power Fx uživatelsky definované funkce
Pro jednodušší scénáře můžete vytvořit uživatelem definované funkce přímo ve svých testovacích plánech:
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())
Vlastní funkce jazyka C# Power Fx s ReflectionFunction
Pro složitější scénáře mohou organizace vyvíjet vlastní funkce C# implementací třídy ReflectionFunction a jejich registrací prostřednictvím modulu:
// 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...
}
Spolupráce s týmem Test Engine
Organizace, které vyvíjejí cenná rozšíření pomocí open source Test Engine, mohou zvážit vytvoření pull requestu pro svá rozšíření, aby je zpřístupnily v oficiálním produktu. Tento proces obvykle zahrnuje:
- Vývoj - Vytvořte si rozšíření pomocí open source testovacího enginu
- Validace - Důkladně otestujte své rozšíření ve vlastním prostředí
- Spolupráce - Spolupracujte s týmem Core Test Engine na vyhodnocení rozšíření
- Integrace – Pokud je schváleno, Microsoft podepíše a integruje rozšíření do produktu.
Tento model spolupráce umožňuje inovace a zároveň zachovává bezpečnost a spolehlivost oficiálního produktu Test Engine.
Body technické integrace
Následující části popisují, jak se rozšiřitelnost testovacího enginu integruje s klíčovými technologiemi, jako je Playwright, a životním cyklem funkcí. Pochopení těchto integračních bodů vám pomůže efektivně vyvíjet a nasazovat vlastní rozšíření.
Integrace Playwright
Power Apps Test Engine je založený na Playwright, který poskytuje základ pro automatizaci prohlížeče. Vlastní rozšíření mohou interagovat s **IBrowserContext** od Playwright a vytvářet tak sofistikované testovací funkce založené na prohlížeči. ...
Životní cyklus funkcí
Nová rozšíření se řídí životním cyklem funkcí:
- Jmenný prostor Preview – Nová rozšíření jsou nejprve k dispozici v jmenném prostoru Preview pro účely včasného testování.
- Jmenný prostor TestEngine - Po ověření se rozšíření přesunou do hlavního jmenného prostoru TestEngine
Výhody modelu rozšiřitelnosti
Model rozšiřitelnosti poskytuje významné výhody:
- Standardizace - Komponenty podepsané společností Microsoft zajišťují konzistentní kvalitu a zabezpečení
- Inovace - Model open source umožňuje inovace řízené komunitou
- Flexibilita - Organizace si mohou vytvářet specializovaná rozšíření pro jedinečné požadavky
- Integrace - Cenná rozšíření jsou zvažována k zahrnutí do oficiálního produktu