Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Aparat testowy jest przestarzały i zostanie usunięty w przyszłej wersji. Użyj przykładów Power Platform Playwright do funkcji automatyzacji testów w platformie Power Platform i usługach Dynamics 365.
Overview
Power Apps Test Engine oferuje niezawodną strukturę rozszerzalności, która umożliwia rozszerzanie podstawowych funkcji testowania za pośrednictwem różnych punktów rozszerzeń. Z tego artykułu dowiesz się:
- Jak firma Microsoft podpisuje i weryfikuje rozszerzenia innych firm
- Jak działa model rozszerzalności przy użyciu zarządzanej struktury rozszerzalności (MEF)
- Opcje tworzenia własnych rozszerzeń przez organizacje
składniki z podpisem Microsoft
Ważna
W fazie publicznej wersji zapoznawczej komenda pac test run ładuje tylko rozszerzenia podpisane przez Microsoft. Taka konstrukcja zapewnia bezpieczeństwo, stabilność i wydajność platformy Test Engine.
Microsoft buduje, podpisuje i weryfikuje składniki własne, aby zapewnić, że spełniają one standardy jakości i zabezpieczeń. Do tych składników należą:
- Podstawowi dostawcy uwierzytelniania
- Dostawcy aplikacji canvas i aplikacji opartych na modelu
- Standardowe Power Fx funkcje i akcje
Model rozszerzalności (MEF)
Silnik testowy używa Zarządzanej Struktury Rozszerzalności (MEF), aby umożliwić architekturę wtykową. Ta struktura umożliwia trzy podstawowe typy rozszerzeń:
Rozszerzenia uwierzytelniania
Rozszerzenia uwierzytelniania umożliwiają różne sposoby uwierzytelniania za pomocą Power Platform:
- Uwierzytelnianie stanu pamięci — domyślna metoda uwierzytelniania oparta na przeglądarce
- Uwierzytelnianie oparte na certyfikatach — do wykonywania testów nieinterakcyjnych
- Dostawcy usług uwierzytelniania niestandardowego — dla wyspecjalizowanych scenariuszy uwierzytelniania
Aby uzyskać więcej informacji, zobacz Uwierzytelnianie w module Test Engine.
Rozszerzenia dostawcy
Rozszerzenia dostawcy umożliwiają testowanie różnych typów aplikacji:
- Canvas App Provider — do testowania aplikacji typu canvas Power Apps
- Dostawca Aplikacji Sterowanej Modelem — do testowania aplikacji sterowanych modelem w Dataverse
- Power Fx Provider - Do niezależnego wykonywania wyrażeń Power Fx
- Portal Provider — Do automatyzacji operacji w Power Apps
Aby uzyskać więcej informacji, zobacz Aplikacje Canvas, Aplikacje oparte na modelu i Rozszerzenia Dataverse.
Rozszerzenia Power Fx
Rozszerzenia Power Fx dodają nowe możliwości testowania za pomocą funkcji niestandardowych.
- Funkcje zdefiniowane przez użytkownika — funkcje niskokodowe zdefiniowane w planie testów
- Implementacje funkcji ReflectionFunction języka C# — funkcje niestandardowe zaimplementowane w modułach języka C#
Aby uzyskać więcej informacji, zobacz Power Fx Functions i implementacje funkcji odbicia C#.
Opcje rozwoju rozszerzenia
Organizacje mają wiele opcji rozszerzania Test Engine:
Korzystanie z wersji open source
Power Apps Test Engine jest dostępny jako projekt open source na licencji MIT. Zarówno zespoły pierwszej strony Microsoft, zespoły firm trzecich, jak i organizacje mogą wykonywać następujące czynności:
- Tworzenie nowych dostawców dla wyspecjalizowanych scenariuszy testowych
- Opracowywanie niestandardowych mechanizmów uwierzytelniania
- Tworzenie nowych implementacji funkcji ReflectionFunction języka C#
- Tworzenie modułów, które rozszerzają podstawową funkcjonalność
- Przesyłaj wkłady do rozważenia przy tworzeniu produktu podstawowego
Power Fx Funkcje zdefiniowane przez użytkownika
W przypadku prostszych scenariuszy można tworzyć funkcje zdefiniowane przez użytkownika bezpośrednio w planach testów:
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())
Niestandardowe funkcje języka C# Power Fx z funkcją ReflectionFunction
W przypadku bardziej złożonych scenariuszy organizacje mogą opracowywać niestandardowe funkcje języka C#, implementując ReflectionFunction klasę i rejestrując je za pomocą modułu:
// 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...
}
Współpraca z zespołem Test Engine
Organizacje, które opracowują wartościowe rozszerzenia za pomocą silnika testowego typu open source, mogą rozważyć utworzenie żądania ściągnięcia dla swoich rozszerzeń, aby udostępnić je w oficjalnym produkcie. Proces zwykle obejmuje:
- Rozwój - Utwórz rozszerzenie za pomocą silnika testowego typu open source
- Walidacja — dokładnie przetestuj swoje rozszerzenie we własnym środowisku
- Współpraca - Współpracuj z zespołem Core Test Engine, aby ocenić rozszerzenie
- Integracja — w przypadku zatwierdzenia firma Microsoft podpisuje i integruje rozszerzenie z produktem
Ten model współpracy umożliwia innowacje przy jednoczesnym zachowaniu bezpieczeństwa i niezawodności oficjalnego produktu Test Engine.
Techniczne punkty integracji
W poniższych sekcjach opisano, w jaki sposób rozszerzalność aparatu testowego integruje się z podstawowymi technologiami, takimi jak Playwright i cykl życia funkcji. Zrozumienie tych punktów integracji pomaga w efektywnym opracowywaniu i wdrażaniu rozszerzeń niestandardowych.
Integracja dramaturgów
Power Apps Test Engine jest zbudowany na bazie Playwright, który stanowi podstawę do automatyzacji przeglądarki. Niestandardowe rozszerzenia mogą wchodzić w interakcje z IBrowserContext firmy Playwright, aby tworzyć zaawansowane możliwości testowania oparte na przeglądarce.
Cykl życia funkcji
Nowe rozszerzenia są zgodne z cyklem życia funkcji:
- Przestrzeń nazw w wersji zapoznawczej — nowe rozszerzenia są najpierw dostępne w tej przestrzeni na potrzeby wczesnego testowania
- Przestrzeń nazw TestEngine — po walidacji rozszerzenia są przenoszone do podstawowej przestrzeni nazw TestEngine.
Korzyści z modelu rozszerzalności
Model rozszerzalności zapewnia znaczące korzyści:
- Standaryzacja — komponenty podpisane przez firmę Microsoft zapewniają stałą jakość i bezpieczeństwo
- Innowacyjność – model open source pozwala na innowacje kierowane przez społeczność
- Elastyczność - Organizacje mogą tworzyć specjalistyczne rozszerzenia dla unikalnych wymagań
- Integracja - Cenne rozszerzenia są brane pod uwagę do włączenia do oficjalnego produktu