Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.
Descrizione
Power Apps Test Engine è dotato di un solido framework di estensibilità che consente di ampliare le funzionalità di test principali tramite vari punti di estensione. Questo articolo spiega:
- Come Microsoft firma e convalida le estensioni proprietarie
- Come funziona il modello di estensibilità utilizzando il Managed Extensibility Framework (MEF)
- Opzioni per le organizzazioni di creare le proprie estensioni
Componenti firmati da Microsoft
Importante
Durante la fase di anteprima pubblica, il comando pac test run carica solo le estensioni firmate da Microsoft. Questa progettazione garantisce sicurezza, stabilità e prestazioni della piattaforma Test Engine.
Microsoft crea, firma e convalida i componenti proprietari per garantire che soddisfino gli standard di qualità e sicurezza. Questi componenti includono:
- Fornitori di autenticazione di base
- Fornitori di app canvas e app basate su modelli
- Funzioni e azioni standard Power Fx
Framework di estensibilità (MEF)
Test Engine utilizza il Managed Extensibility Framework (MEF) per abilitare un'architettura collegabile. Questo framework consente tre tipi principali di estensioni:
Estensioni di autenticazione
Le estensioni di autenticazione consentono diverse modalità di autenticazione con Power Platform:
- Autenticazione dello stato di archiviazione - Metodo di autenticazione predefinito basato sul browser
- Autenticazione basata su certificato - Per l'esecuzione di test non interattivi
- Provider di autenticazione personalizzati - Per scenari di autenticazione specializzati
Per ulteriori informazioni, vedere Autenticazione nel motore di test.
Estensioni del provider
Le estensioni del provider consentono di testare diversi tipi di applicazioni:
- Fornitore di app Canvas - Per testare Power Apps le applicazioni canvas
- Fornitore di app basate su modelli - Per testare Dataverse app basate su modelli
- Power Fx Provider - Per eseguire Power Fx istruzioni in modo indipendente
- Fornitore del portale - Per automatizzare le operazioni in Power Apps
Per ulteriori informazioni, vedere Applicazioni Canvas, Applicazioni basate su modelli ed Dataverse Estensioni.
Power Fx estensioni
Power Fx le estensioni aggiungono nuove capacità di test tramite funzioni personalizzate:
- Funzioni definite dall'utente - Funzioni a basso codice definite nel piano di test
- Implementazioni di ReflectionFunction in C# - Funzioni personalizzate implementate nei moduli C#
Per ulteriori informazioni, vedere Power Fx Funzioni e Implementazioni di ReflectionFunction in C#.
Opzioni di sviluppo dell'estensione
Le organizzazioni hanno diverse opzioni per estendere Test Engine:
Utilizzo della versione open source
Il Power Apps Test Engine è disponibile come progetto open source con licenza MIT. Microsoft proprietaria, team di terze parti e organizzazioni possono:
- Creare nuovi provider per scenari di test specializzati
- Sviluppare meccanismi di autenticazione personalizzati
- Creare nuove implementazioni di ReflectionFunction in C#
- Creare moduli che estendono le funzionalità principali
- Inviare contributi da prendere in considerazione nel prodotto principale
Power Fx funzioni definite dall'utente
Per scenari più semplici, è possibile creare funzioni definite dall'utente direttamente nei piani di test:
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())
Funzioni C# Power Fx personalizzate con ReflectionFunction
Per scenari più complessi, le organizzazioni possono sviluppare funzioni C# personalizzate implementando la classe e registrandole tramite un modulo: 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...
}
Collaborazione con il team Test Engine
Le organizzazioni che sviluppano estensioni di valore utilizzando il Test Engine open source possono prendere in considerazione la creazione di una richiesta pull per le loro estensioni, per renderle disponibili nel prodotto ufficiale. Il processo in genere prevede:
- Sviluppo - Crea la tua estensione utilizzando il motore di test open source
- Validazione - Testa attentamente la tua estensione nel tuo ambiente
- Collaborazione - Collaborare con il team Core Test Engine per valutare l'estensione
- Integrazione - Se approvata, Microsoft firma e integra l'estensione nel prodotto
Questo modello di collaborazione consente l'innovazione mantenendo la sicurezza e l'affidabilità del prodotto ufficiale Test Engine.
Punti di integrazione tecnica
Le sezioni seguenti descrivono come l'estendibilità del Test Engine si integra con tecnologie fondamentali quali Playwright e il ciclo di vita delle funzionalità. La comprensione di questi punti di integrazione ti aiuterà a sviluppare e distribuire estensioni personalizzate in modo efficace.
Integrazione del drammaturgo
Power Apps Test Engine è basato su Playwright, che fornisce le basi per l'automazione del browser. Le estensioni personalizzate possono interagire con IBrowserContext di Playwright per creare sofisticate funzionalità di test basate sul browser.
Ciclo di vita delle funzionalità
Le nuove estensioni seguono un ciclo di vita delle funzionalità:
- Anteprima dello spazio dei nomi - Le nuove estensioni sono disponibili inizialmente nello spazio dei nomi Anteprima per i test iniziali
- Namespace TestEngine - Dopo la convalida, le estensioni vengono spostate nello spazio dei nomi TestEngine principale
Vantaggi del modello di estensibilità
Il modello di estensibilità offre vantaggi significativi:
- Standardizzazione - I componenti firmati da Microsoft garantiscono qualità e sicurezza coerenti
- Innovazione - Il modello open source consente l'innovazione guidata dalla comunità
- Flessibilità - Le organizzazioni possono creare estensioni specializzate per requisiti unici
- Integrazione - Le estensioni di valore sono considerate per l'inclusione nel prodotto ufficiale