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.
O mecanismo de teste usa estas funções PowerFx existentes:
Estas funções estão disponíveis para uso somente no mecanismo de teste:
O mecanismo de teste fornece estas funções de visualização:
- Visualizar.AIExecutePrompt
- Visualizar.ConsentDialog
- Visualizar.Pausar
- Prévia.DramaturgoAção
- Visualização.PlaywrightActionValue
- Pré-visualização.Script de dramaturgo
- Visualizar.SelecionarControle
- Visualizar.SimularConnector
- Visualizar.SimularDataverse
Funções do motor de teste
Essas funções estão disponíveis apenas para uso com o mecanismo de teste
Captura de tela
Screenshot(fileNameOfScreenshot)
Esta função captura uma imagem do aplicativo no momento atual. O arquivo de captura de tela é salvo na pasta de saída do teste e com o nome fornecido.
Observação
Somente arquivos jpeg e png são suportados.
Exemplo de captura de tela
Screenshot("buttonClicked.png")
Wait
Wait(Control, Property, Value)
Esta função aguarda que a propriedade do controle seja igual ao valor especificado.
Exemplo de espera
Wait(Label1, "Text", "0")
Funções de pré-visualização
As seguintes funções podem ser opcionalmente incluídas em testes quando o namespace Power Fx Preview for adicionado Preview à allowPowerFxNamespaces lista na propriedade extensionModules do testSettings.
Observação
- As funções de visualização estão sujeitas a alterações. À medida que essas funções se tornam prontas para uso mais amplo, elas são consideradas movidas dentro do
TestEnginenamespace. - Você pode usar Funções Definidas pelo Usuário para encapsular
Previewfunções e facilitar a migração para versões não pré-visualizadas da função. - Você pode fazer com que o modelo retorne apenas um objeto JSON que você pode analisar usando a função
ParseJSON.
Visualizar.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Chame um prompt personalizado e obtenha resultados de texto da execução. AI Builder
Observação
Revise a seção Dataverse Integração de IA para obter informações sobre disponibilidade e configuração desta função.
Revise Usando Preview.AIExecutePrompt para mais detalhes e descrições sobre o uso desta função.
Exemplo de Preview.AIExecutePrompt
O exemplo a seguir chama o prompt de IA chamado Capital do País com um valor de parâmetro de País e espera que a execução do modelo retorne uma única palavra Paris
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Visualizar.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
Aguarde a confirmação de uma caixa de diálogo de consentimento para uma página personalizada de aplicativo de tela ou aplicativo baseado em modelo
Exemplo de Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
Visualizar.Pausar
Preview.Pause()
Pause o teste e exiba o Inspetor de Dramaturgos se estiver executando um teste interativo
Observação
Problema conhecido: A função Preview.Pause não abre corretamente o inspetor para execução de teste pac
Descrição: A Preview.Pause função falha ao abrir o inspetor durante um pac test run.
Solução alternativa: A versão de código aberto do Test Engine pode ser usada para a funcionalidade de pausa.
Exemplo de visualização.pausa
Preview.Pause()
Visualizar.SelecionarControle
Preview.SelectControl(Control: ControlName, Index: Number)
Selecione um controle usando o Document Object Model
Exemplo de Preview.SelectControl
Selecione a primeira Button3 correspondência
Preview.SelectControl(Button3,1);
Prévia.DramaturgoAção
Preview.PlaywrightAction(Text, Text)
Execute uma ação na página atual usando um Playwright CSS ou XPath Locator
Exemplos de Preview.PlaywrightAction
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Visualização.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Execute uma ação na página atual usando um Playwright CSS ou XPath Locator com um valor
Exemplos de Preview.PlaywrightActionValue
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Pré-visualização.Script de dramaturgo
Preview.PlaywrightScript(Text)
Execute o script C# na página atual
Observação
Esta função só é implementada para a compilação de depuração a partir da versão de código aberto do Test Engine, não na execução de teste do pac.
Exemplo de Preview.PlaywrightScript
Preview.PlaywrightScript("sample.csx")
Com o conteúdo do sample.csx semelhante a este código:
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Threading.Tasks;
public class PlaywrightScript {
public static void Run(IBrowserContext context, ILogger logger) {
Execute(context, logger).Wait();
}
public static async Task Execute(IBrowserContext context, ILogger logger) {
var page = context.Pages.First();
if ( page.Url == "about:blank" ) {
var nextPage = context.Pages.Skip(1).First();
await page.CloseAsync();
page = nextPage;
}
foreach ( var frame in page.Frames ) {
if ( await frame.Locator("button:has-text('Button')").CountAsync() > 0 ) {
await frame.ClickAsync("button:has-text('Button')");
}
}
}
}
Visualizar.SimularConnector
Preview.SimulateConnector({name: Text, then: Record})
Quando uma chamada é feita de Power Apps para um tipo de conector encontrado em Lista de todos os Power Apps conectores
Exemplo de Preview.SimulateConnector
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
Visualizar.SimularDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Exemplo de Preview.SimulateDataverse
Este exemplo, quando uma chamada é feita para consultar a Dataverse entidade com nome lógico sample_combotable ele retorna os registros usando a função Tabela
Preview.SimulateDataverse({
Action: "Query",
Entity: "sample_combotable",
Then: Table(
{
'sample_name': "Item 1",
'sample_id': 3,
'sample_combotableid': "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
'createdon': "2024-12-02T17:52:45Z"
},
{
'sample_name': "RR2",
'sample_id': 4,
'sample_combotableid': "bbbbbbbb-1111-2222-3333-cccccccccccc",
'createdon': "2024-12-02T17:54:45Z"
},
{
'sample_name': "RR3",
'sample_id': 5,
'sample_combotableid': "cccccccc-2222-3333-4444-dddddddddddd",
'createdon': "2024-12-02T17:54:45Z"
}
)
});
Artigos relacionados
Dataverse e Simulação de Conectores com Mecanismo de Teste (prévia)