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:
Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.
Přehled
Power Apps Test Engine disponuje robustním rámcem pro rozšiřitelnost, který umožňuje rozšíření základních testovacích funkcí prostřednictvím různých rozšiřujících bodů. Tento článek vysvětluje:
- Jak Microsoft podepisuje a ověřuje rozšíření první strany
- 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í 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 částech Aplikace plátna, Aplikace řízené modelem a Dataverse Rozšíření.
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 Power Fx Funkce a Implementace reflexních funkcí v C#.
Možnosti vývoje rozšíření
Organizace mají několik možností, jak rozšířit Test Engine:
Použití open source verze
Testovací engine je k dispozici jako open source projekt pod licencí MIT. Power Apps Týmy od Microsoftu, externí týmy a organizace mohou:
- 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# s ReflectionFunction Power Fx
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. 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 dramatika
Power Apps Testovací engine je postaven na platformě 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