Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
A versão prévia dos recursos não foi criada para uso em ambientes de produção e pode ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.
Visão geral
Power Apps Test Engine apresenta uma estrutura de extensibilidade robusta que permite que os principais recursos de teste sejam expandidos por meio de vários pontos de extensão. Este artigo explica:
- Como a Microsoft assina e valida extensões primárias
- Como o modelo de extensibilidade funciona usando o Managed Extensibility Framework (MEF)
- Opções para 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. Este 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 de núcleo
- Provedores de aplicativos Canvas e aplicativos baseados em modelos
- Funções e ações padrão Power Fx
Estrutura de extensibilidade (MEF)
O Test Engine usa o Managed Extensibility Framework (MEF) para habilitar uma arquitetura plugá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 de estado de armazenamento - O método de autenticação padrão baseado em navegador
- Autenticação baseada em certificado - Para execução de testes não interativos
- 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 provedores
As extensões do provedor permitem testar diferentes tipos de aplicativos:
- Provedor de aplicativo Canvas - Para testar aplicativos de Canvas do Power Apps
- Provedor de aplicativos orientados a modelos - Para testar Dataverse aplicativos orientados a modelos
- Power Fx Provedor - Para executar Power Fx instruções de forma independente
- Provedor de Portal - Para automatizar operações em Power Apps
Para obter mais informações, consulte Aplicativos Canvas, Aplicativos orientados a modelos e Dataverse Extensões.
Power Fx extensões
Power Fx extensões adicionam novos recursos de teste por meio de funções personalizadas:
- Funções definidas pelo usuário - Funções de baixo código definidas no plano de teste
- Implementações de ReflectionFunction em C# - Funções personalizadas implementadas em módulos C#
Para obter mais informações, consulte Funções do Power Fx e Implementações de ReflectionFunction de 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. A Microsoft de primeira parte, equipes terceirizadas e organizações podem:
- Crie novos provedores para cenários de testes especializados
- Desenvolver mecanismos de autenticação personalizados
- Crie novas implementações de ReflectionFunction em C#
- Crie módulos que estendam a funcionalidade principal
- Enviar contribuições para consideração no produto principal
Power Fx funções definidas pelo usuário
Para cenários mais simples, você pode criar funções definidas pelo usuário 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 personalizadas de C# Power Fx com ReflectionFunction
Para cenários mais complexos, as organizações podem desenvolver funções C# personalizadas implementando a classe ReflectionFunction 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 equipe do Test Engine
Organizações que desenvolvem extensões valiosas usando o Test Engine de código aberto podem considerar a criação de uma solicitação de 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 - Trabalhar com a equipe do Core Test Engine para avaliar a extensão
- Integração - Se aprovada, a Microsoft assina e integra a extensão ao produto
Este modelo de colaboração permite inovação ao mesmo tempo que mantém a segurança e a confiabilidade do produto oficial do 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 dos recursos. Entender esses pontos de integração ajuda você a desenvolver e implantar extensões personalizadas de forma eficaz.
Integração de dramaturgos
Power Apps Test Engine é construído sobre o Playwright, que fornece a base para automação de navegador. Extensões personalizadas podem interagir com o IBrowserContext do Playwright para criar recursos sofisticados de teste baseados em navegador. ...
Ciclo de vida da funcionalidade
Novas extensões seguem um Ciclo de Vida da Funcionalidade:
- Namespace de visualização - Novas extensões estão disponíveis primeiro no namespace de visualização para testes iniciais
- Namespace TestEngine - Após a validação, as extensões são movidas para o namespace principal do TestEngine
Benefícios do modelo de extensibilidade
O modelo de extensibilidade oferece benefícios significativos:
- Padronização - Os componentes assinados pela Microsoft garantem qualidade e segurança consistentes
- Inovação - O modelo de código aberto permite a 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