Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
O Test Engine está obsoleto e será removido numa versão futura. Use os exemplos do Power Platform Playwright para capacidades de automação de testes no Power Platform e nos serviços Dynamics 365.
Descrição geral
O Power Apps Test Engine apresenta uma estrutura robusta de extensibilidade que permite expandir as capacidades principais de teste através de vários pontos de extensão. Este artigo explica:
- Como a Microsoft assina e valida extensões de primeira parte
- Como funciona o modelo de extensibilidade usando o MEF (Managed Extensibility Framework)
- Opções para as organizações criarem suas próprias extensões
Componentes assinados pela Microsoft
Importante
Durante a fase de pré-visualização pública, o comando pac test run carrega apenas extensões assinadas por Microsoft. Esse design garante segurança, estabilidade e desempenho da plataforma Test Engine.
A Microsoft constrói, assina e valida componentes de primeira parte para garantir que cumprem os padrões de qualidade e segurança. Esses componentes incluem:
- Provedores de autenticação principais
- Fornecedores de aplicações de tela e de aplicações condicionadas por modelo
- Funções e ações padrão Power Fx
Quadro de extensibilidade (MEF)
O mecanismo de teste usa o Managed Extensibility Framework (MEF) para habilitar uma arquitetura conectável. Esta estrutura permite três tipos principais de extensões:
Extensões de autenticação
As extensões de autenticação permitem diferentes maneiras de autenticação com Power Platform:
- Autenticação do Estado de Armazenamento - O método de autenticação padrão baseado em navegador
- Autenticação baseada em certificado - Para execução de teste não interativa
- Provedores de autenticação personalizados - Para cenários de autenticação especializados
Para obter mais informações, consulte Autenticação no mecanismo de teste.
Extensões de fornecedor
As extensões de fornecedor permitem testar diferentes tipos de aplicativos:
- Canvas App Provider - Para testar aplicações canvas do Power Apps
- Fornecedor de aplicativos orientados por modelo - Para testar aplicativos controlados por modelo do Dataverse
- Power Fx Provedor - Para executar Power Fx declarações de forma independente
- Portal Provider - Para automatizar operações em Power Apps
Para obter mais informações, consulte Aplicações Canvas, Aplicações controladas por modelos e Extensões do Dataverse.
Power Fx Extensões
Power Fx As extensões adicionam novos recursos de teste por meio de funções personalizadas:
- Funções definidas pelo utilizador - Funções low-code definidas no plano de teste
- Implementações de C# ReflectionFunction - Funções personalizadas implementadas em módulos de C#
Para obter mais informações, consulte Funções Power Fx e Implementações ReflectionFunction em C#.
Opções de desenvolvimento de extensão
As organizações têm várias opções para estender o Test Engine:
Utilização da versão open source
O Power Apps Test Engine está disponível como projeto open source sob a licença MIT. A Microsoft de primeira parte, equipas terceirizadas e organizações podem:
- Crie novos provedores para cenários de teste especializados
- Desenvolver mecanismos de autenticação personalizados
- Crie novas implementações C# ReflectionFunction
- Crie módulos que estendem a funcionalidade principal
- Enviar contribuições para consideração no produto principal
Power Fx funções definidas pelo utilizador
Para cenários mais simples, você pode criar funções definidas pelo utilizador diretamente em seus planos de teste:
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())
Funções Power Fx personalizadas em C# com ReflectionFunction
Para cenários mais complexos, as organizações podem desenvolver funções C# personalizadas implementando a ReflectionFunction classe e registrando-as por meio de um módulo:
// 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...
}
Colaboração com a equipa do Test Engine
Organizações que desenvolvem extensões valiosas usando o Test Engine de código aberto podem considerar criar um pull request para tornarem as suas extensões disponíveis no produto oficial. O processo normalmente envolve:
- Development - Crie a sua extensão usando o open source Test Engine
- Validação - Teste sua extensão completamente em seu próprio ambiente
- Colaboração - Trabalhe com a equipa do Core Test Engine para avaliar a extensão
- Integração - Se aprovado, Microsoft assina e integra a extensão no produto
Este modelo de colaboração permite a inovação, mantendo a segurança e a fiabilidade do produto oficial Test Engine.
Pontos de integração técnica
As seções a seguir descrevem como a extensibilidade do Test Engine se integra às principais tecnologias, como o Playwright e o ciclo de vida do recurso. Compreender esses pontos de integração ajuda você a desenvolver e implantar extensões personalizadas de forma eficaz.
Integração com dramaturgos
Power Apps Motor de Testes é construído sobre Playwright, que fornece a base para a automação do navegador. As extensões personalizadas podem interagir com o IBrowserContext do Playwright para criar recursos sofisticados de teste baseados em navegador.
Ciclo de vida da funcionalidade
As novas extensões seguem um Ciclo de Vida da Funcionalidade:
- Preview Namespace - Novas extensões estão disponíveis pela primeira vez no namespace Preview para testes iniciais
- TestEngine Namespace - Após a validação, as extensões são movidas para o namespace TestEngine principal
Benefícios do modelo de extensibilidade
O modelo de extensibilidade oferece benefícios significativos:
- Normalização - Componentes Microsoft-assinados garantem qualidade e segurança consistentes
- Inovação - O modelo open source permite inovação orientada pela comunidade
- Flexibilidade - As organizações podem criar extensões especializadas para requisitos exclusivos
- Integração - Extensões valiosas são consideradas para inclusão no produto oficial