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
As funcionalidades de pré-visualização não se destinam a utilização em produção e podem ter funcionalidades restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado e enviar comentários.
Descrição geral
Power Apps Test Engine apresenta uma estrutura de extensibilidade robusta que permite que as funcionalidades principais de teste sejam expandidas através de vários pontos de extensão. Este artigo explica:
- Como a Microsoft assina e valida extensões primárias
- 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 visualização pública, o comando pac test run carrega apenas extensões assinadas pela Microsoft. Esse design garante segurança, estabilidade e desempenho da plataforma Test Engine.
A Microsoft cria, assina e valida componentes primários para garantir que eles atendam aos padrões de qualidade e segurança. Esses componentes incluem:
- Provedores de autenticação principais
- Aplicações Canvas e orientadas 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 de tela 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:
Usando a versão de código aberto
O Power Apps Test Engine está disponível como um projeto de código aberto sob a licença MIT. As equipas internas da Microsoft, equipas de terceiros 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 C# Power Fx personalizadas 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
As organizações que desenvolvem extensões valiosas usando o mecanismo de teste de código aberto podem considerar a criação de uma solicitação pull para suas extensões para disponibilizá-las no produto oficial. O processo normalmente envolve:
- Desenvolvimento - Crie sua extensão usando o mecanismo de teste de código aberto
- 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 aprovada, a 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 Test Engine é construído com base em Playwright, que fornece a base para a automação de navegadores. 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:
- Padronização - componentes assinados pela Microsoft garantem qualidade e segurança consistentes
- Inovação - O modelo de código aberto permite a inovação impulsionada 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