Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Notatka
Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.
Możesz skorzystać z Learning Playground , aby zapoznać się z funkcjami opisanymi w tym przewodniku i wypróbować je.
Co to jest Power Fx?
Microsoft Power Fx to niskokodowy język programowania ogólnego przeznaczenia oparty na formułach przypominających arkusz kalkulacyjny. Jest to język typowy, deklaratywny, funkcjonalny z logiką imperatywną i zarządzaniem stanem dostępnym w razie potrzeby. Jego historia z Excela sprawia, że jest dostępny dla szerokiego grona użytkowników, od początkujących do doświadczonych programistów.
Zaawansowane Power Fx scenariusze
Jeśli jesteś już zaznajomiony Power Fx, zagłębianie się w zaawansowane scenariusze może znacznie zwiększyć możliwości i wydajność aplikacji. Oto kilka zaawansowanych scenariuszy i powody, dla których mogą być one interesujące:
Tworzenie funkcji niestandardowych: Tworzenie funkcji niestandardowych umożliwia programistom hermetyzację złożonej logiki w składnikach wielokrotnego użytku. Takie podejście nie tylko upraszcza proces rozwoju, ale także zapewnia spójność i zmniejsza prawdopodobieństwo wystąpienia błędów. Funkcje niestandardowe można dostosować do konkretnych potrzeb biznesowych, dzięki czemu test jest bardziej zaawansowany i elastyczny.
Integracja z zewnętrznymi źródłami danych: Integracja Power Fx z zewnętrznymi źródłami danych umożliwia testom interakcję z szerokim zakresem danych, od baz danych po usługi internetowe. Ta integracja może zwiększyć funkcjonalność aplikacji, zapewniając dostęp do danych i aktualizacje w czasie rzeczywistym. Pozwala również na bardziej dynamiczne i responsywne testy, które mogą dostosować się do zmieniających się danych.
Optymalizacja wydajności dla testów na dużą skalę: W miarę wzrostu złożoności i skali testów optymalizacja wydajności staje się ważna. Optymalizacje te mogą obejmować wydajność, taką jak wydajna obsługa danych i korzystanie z Power Fx wbudowanych funkcji w celu uzyskania lepszej wydajności. Te optymalizacje zapewniają, że testy pozostają responsywne i wydajne, nawet w przypadku dużych zestawów danych i złożonej logiki.
Model rozszerzalności
Model Power Fxrozszerzalności aparatów testowych jest jedną z jego wielu atrakcyjnych funkcji. Język można rozszerzyć za pomocą niestandardowych funkcji i akcji, dzięki czemu można go dostosować do różnych scenariuszy. Oto kilka kluczowych aspektów modelu rozszerzalności:
Ponowne wykorzystanie umiejętności, które już posiadasz: Power Fx model rozszerzalności umożliwia korzystanie z istniejących umiejętności w Power Fx innych językach programowania, takich jak C#. Korzystanie z tego podejścia oznacza, że możesz wykorzystać swoją wiedzę i doświadczenie w Power Fx opartych testach, co ułatwia tworzenie zaawansowanych i niestandardowych rozwiązań.
Zezwalaj na ponowne użycie istniejących bibliotek i funkcji: Model rozszerzalności umożliwia integrację istniejących bibliotek i funkcji z Power Fx. Ponowne użycie umożliwia programistom ponowne wykorzystanie wypróbowanego i przetestowanego kodu oraz skrócenie czasu programowania w celu zwiększenia niezawodności. Włączając istniejące biblioteki, możesz zwiększyć funkcjonalność swoich Power Fx aplikacji bez wymyślania koła na nowo.
Podaj model do hermetyzacji złożoności dla użytkowników funkcji: Jedną z istotnych zalet modelu rozszerzalności jest jego zdolność do hermetyzacji złożoności. Twórcy i programiści mogą tworzyć niestandardowe funkcje, które ukrywają skomplikowane szczegóły podstawowej logiki, zapewniając prosty i przyjazny dla użytkownika interfejs dla użytkowników końcowych. Abstrakcja ułatwia wszystkim korzystanie z zaawansowanych funkcji i czerpanie z nich korzyści bez konieczności rozumienia złożoności, która się za nią kryje.
Usprawnij współpracę i spójność: Zespoły mogą tworzyć spójny zestaw niestandardowych funkcji i działań, które można udostępniać i ponownie wykorzystywać w różnych projektach. Korzystanie ze wspólnego
testSettings.yamlpliku może sprzyjać współpracy i zapewnia przestrzeganie najlepszych praktyk, co prowadzi do bardziej niezawodnych i łatwych w utrzymaniu aplikacji.Ułatw integrację z systemami zewnętrznymi: Model rozszerzalności pozwala na bezproblemową integrację z zewnętrznymi systemami i usługami. Oznacza to, że możesz połączyć swoje Power Fx aplikacje z szeroką gamą źródeł danych i interfejsów API, zwiększając ich możliwości i zapewniając dostęp do danych w czasie rzeczywistym.
Obsługa scenariuszy zaawansowanych: Model rozszerzalności jest przeznaczony do obsługi zaawansowanych scenariuszy, takich jak tworzenie języków specyficznych dla domeny i niestandardowych przepływów pracy. Ta elastyczność zapewnia, że można go Power Fx dostosować do unikalnych potrzeb różnych branż i przypadków użycia.
Jako deweloperzy lub zaawansowani twórcy rozumiejący i korzystający z modelu rozszerzalności, deweloperzy mogą tworzyć bardziej zaawansowane, elastyczne i przyjazne dla użytkownika aplikacje dzięki Power Fx. Model ten nie tylko zwiększa możliwości języka, ale także czyni go bardziej dostępnym i wartościowym dla szerszego grona użytkowników.
Typy zdefiniowane przez użytkownika
Typy zdefiniowane przez użytkownika (UDT) w Power Apps module Test Engine umożliwiają definiowanie niestandardowych struktur danych, które mogą być używane w planach testów. Ta funkcja zwiększa elastyczność i możliwość ponownego użycia przypadków testowych, umożliwiając tworzenie złożonych typów danych dostosowanych do konkretnych potrzeb testowych.
Przykład UDT
W tym przykładzie pokazano testSettings.yaml , jak zdefiniować i używać UDT w pliku:
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Objaśnienie przykładu UDT
W powerFxTestTypes sekcji zdefiniowano dwa nowe typy: ControlName i Options.
-
ControlNamejest typem prostym z pojedynczą właściwościąControlNametypuText. -
Optionssą bardziej złożonym typem, reprezentującym listę obiektów, z których każdy withName(of typeText) iValue(of typeNumber).
Tych typów można używać w przypadkach testowych do definiowania zmiennych i weryfikowania ich właściwości. Można na przykład ustawić zmienną typu Options i sprawdzić, czy zawiera ona oczekiwane Name pary i Value .
Funkcje zdefiniowane przez użytkownika
Funkcje zdefiniowane przez użytkownika (UDF) w Power Apps module Test Engine umożliwiają definiowanie funkcji niestandardowych, które mogą być używane w planach testów. Ta funkcja zwiększa elastyczność i możliwość ponownego użycia przypadków testowych, umożliwiając tworzenie złożonych funkcji dostosowanych do konkretnych potrzeb testowych.
Korzyści z funkcji zdefiniowanej przez użytkownika
- Możliwość ponownego użycia: funkcje zdefiniowane przez użytkownika umożliwiają jednokrotne zdefiniowanie złożonych funkcji i ponowne użycie ich w wielu przypadkach testowych. Zmniejsza to nadmiarowość i zapewnia spójność planów testów.
- Czytelność: Użycie funkcji zdefiniowanych przez użytkownika sprawia, że plany testów są bardziej czytelne i łatwiejsze do utrzymania. Definiując funkcje niestandardowe, możesz hermetyzować złożoną logikę i sprawić, że przypadki testowe będą bardziej zrozumiałe.
- Elastyczność: funkcje zdefiniowane przez użytkownika zapewniają elastyczność tworzenia funkcji niestandardowych, które spełniają określone wymagania testowe. Użyj tego podejścia, aby umożliwić dostosowanie przypadków testowych tak, aby lepiej pasowały do potrzeb aplikacji.
- Łatwość konserwacji: Dzięki funkcjom zdefiniowanym przez użytkownika można wprowadzać zmiany funkcji w jednym miejscu, co zmniejsza wysiłek wymagany do aktualizowania wielu przypadków testowych. Zwiększa to łatwość konserwacji planów testów.
Przykład UDF
W tym przykładzie pokazano, jak definiować i używać funkcji zdefiniowanych testSettings.yaml przez użytkownika w pliku:
testFunctions:
- description: Wait until control is visible using Document Object Model (DOM) selector
code: |
WaitUntilVisible(control: Text): Void =
Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
- description: Get the options for a control using Power Fx control from Model Driven App (MDA)
code: |
GetOptions(control: ControlName): Options =
Preview.GetOptions(control);
Wyjaśnienie przykładu funkcji zdefiniowanej przez użytkownika
W testFunctions tej sekcji zdefiniowano dwie nowe funkcje:
-
WaitUntilVisiblecontrolprzyjmuje parametr typuTexti czeka, aż określona kontrolka będzie widoczna przy użyciu selektora DOM. -
GetOptionscontrolprzyjmuje parametr typuControlNamei zwraca opcje dla określonej kontrolki przy użyciu Power Fx z aplikacji opartej na modelu (MDA).
Użyj tych funkcji w przypadkach testowych, aby wykonać określone akcje lub pobrać dane. Można na przykład użyć WaitUntilVisible narzędzia do upewnienia się, że formant jest widoczny przed rozpoczęciem interakcji z nim oraz GetOptions do pobrania i zweryfikowania opcji dostępnych dla kontrolki.