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
Os recursos de versão preliminar não foram criados para uso em ambientes de produção e podem 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 O 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 Power Apps aplicativos Canvas
- 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 Power Fx Funções e Implementações de 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. A Microsoft, 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 C# Power Fx personalizadas 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 O Test Engine é construído sobre o Playwright, que fornece a base para automação do navegador. Extensões personalizadas podem interagir com o IBrowserContext do Playwright para criar recursos sofisticados de teste baseados em navegador. ...
Ciclo de vida do recurso
Novas extensões seguem um Ciclo de Vida do Recurso:
- 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