Sdílet prostřednictvím


Power Apps Testovací engine Power Fx (náhled)

Poznámka:

Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Můžete využít **Learning Playground**, kde si můžete vyzkoušet funkce popsané v této příručce. ...

Co je Power Fx?

Microsoft Power Fx je nízkokódový univerzální programovací jazyk založený na vzorcích podobných tabulkovému procesoru. Je to typovaný, deklarativní, funkcionální jazyk s imperativní logikou a správou stavů dostupnou dle potřeby. Jeho historie od Excelu ho zpřístupňuje širokému spektru uživatelů, od začátečníků až po zkušené vývojáře.

Pokročilé scénáře Power Fx

Pokud již znáte ** Power Fx**, ponoření se do pokročilých scénářů může výrazně zlepšit možnosti a efektivitu vašich aplikací. Zde jsou některé pokročilé scénáře a proč by mohly být zajímavé:

  • Vytváření vlastních funkcí: Vytváření vlastních funkcí umožňuje vývojářům zapouzdřit složitou logiku do opakovaně použitelných komponent. Tento přístup nejen zjednodušuje proces vývoje, ale také zajišťuje konzistenci a snižuje pravděpodobnost chyb. Vlastní funkce lze přizpůsobit specifickým obchodním potřebám, čímž se váš test stane výkonnějším a flexibilnějším.

  • Integrace s externími zdroji dat: Integrace Power Fx s externími zdroji dat umožňuje vašim testům interagovat s širokou škálou dat, od databází až po webové služby. Tato integrace může vylepšit funkčnost vašich aplikací tím, že poskytuje přístup k datům a aktualizacím v reálném čase. Umožňuje také dynamičtější a responzivnější testy, které se dokáží přizpůsobit měnícím se datům.

  • Optimalizace výkonu pro rozsáhlé testy: S rostoucí složitostí a rozsahem testů se optimalizace výkonu stává důležitou. Tyto optimalizace by mohly zahrnovat výkon, jako je efektivní zpracování dat a využití vestavěných funkcí pro lepší výkon. Power Fx Díky těmto optimalizacím zůstanou vaše testy responzivní a efektivní, a to i s velkými datovými sadami a složitou logikou.

Model rozšiřitelnosti

Model rozšiřitelnosti Test Engines je jednou z mnoha jeho přesvědčivých vlastností. Power Fx Jazyk můžete rozšířit o vlastní funkce a akce, díky čemuž se snadno přizpůsobí různým scénářům. Zde jsou některé klíčové aspekty modelu rozšiřitelnosti:

  • Znovu využijte dovednosti, které již máte: Model rozšiřitelnosti v Power Fxvám umožňuje využít vaše stávající dovednosti v Power Fx a dalších programovacích jazycích, jako je C#. Díky tomuto přístupu můžete do testů založených na **technologii** vnést své znalosti a zkušenosti, což usnadní vytváření výkonných a přizpůsobených řešení. Power Fx

  • Povolit opětovné použití stávajících knihoven a funkcí: Model rozšiřitelnosti umožňuje integraci stávajících knihoven a funkcí do Power Fx. Opětovné použití umožňuje vývojářům znovu použít osvědčený kód a zkrátit dobu vývoje pro zvýšení spolehlivosti. Začleněním stávajících knihoven můžete vylepšit funkčnost svých aplikací, aniž byste museli znovu vynalézat kolo. Power Fx

  • Poskytněte model pro zapouzdření složitosti pro uživatele funkcí: Jednou z významných výhod modelu rozšiřitelnosti je jeho schopnost zapouzdřit složitost. Tvůrci a vývojáři mohou vytvářet vlastní funkce, které skrývají složité detaily základní logiky, a koncovým uživatelům tak poskytují jednoduché a uživatelsky přívětivé rozhraní. Abstrakce usnadňuje všem používání a využívání pokročilých funkcí, aniž by museli rozumět složitostem, které se za nimi skrývá.

  • Zlepšení spolupráce a konzistence: Týmy mohou vytvářet konzistentní sadu vlastních funkcí a akcí, které lze sdílet a znovu používat v různých projektech. Používání souboru common testSettings.yaml file může podpořit spolupráci a zajistit dodržování osvědčených postupů, což vede k robustnějším a udržovatelnějším aplikacím.

  • Usnadnění integrace s externími systémy: Model rozšiřitelnosti umožňuje bezproblémovou integraci s externími systémy a službami. To znamená, že můžete své aplikace propojit s širokou škálou datových zdrojů a API, čímž vylepšíte jejich možnosti a poskytnete jim přístup k datům v reálném čase. Power Fx

  • Podpora pokročilých scénářů: Model rozšiřitelnosti je navržen pro podporu pokročilých scénářů, jako je vytváření doménově specifických jazyků a vlastních pracovních postupů. Tato flexibilita zajišťuje, že je možné jej přizpůsobit tak, aby splňoval jedinečné potřeby různých odvětví a případů použití. Power Fx

Jako vývojář nebo pokročilý tvůrce, který rozumí a používá model rozšiřitelnosti, mohou vývojáři vytvářet výkonnější, flexibilnější a uživatelsky přívětivější aplikace Power Fx. Tento model nejen rozšiřuje možnosti jazyka, ale také jej činí přístupnějším a hodnotnějším pro širší okruh uživatelů.

Uživatelsky definované typy

Uživatelsky definované typy (UDT) v Test Engine umožňují definovat vlastní datové struktury, které lze použít ve vašich testovacích plánech. Power Apps Tato funkce zvyšuje flexibilitu a opětovnou použitelnost testovacích případů tím, že vám umožňuje vytvářet komplexní datové typy přizpůsobené vašim specifickým potřebám testování.

Příklad UDT

Tento příklad ukazuje, jak definovat a používat UDT v souboru: testSettings.yaml

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

Vysvětlení příkladu UDT

Tato část definuje dva nové typy: a powerFxTestTypes . ControlNameOptions

  • ControlName je jednoduchý typ s jedinou vlastností typu ControlNameText.
  • Options jsou složitějším typem, představujícím seznam objektů, každý s Name (typu Text) a Value (typu Number).

Tyto typy můžete použít v testovacích případech k definování proměnných a ověření jejich vlastností. Například můžete nastavit proměnnou typu Options a ověřit, zda obsahuje očekávané páry Name a Value .

Uživatelsky definované funkce

Uživatelsky definované funkce (UDF) v Test Engine vám umožňují definovat vlastní funkce, které lze použít v rámci vašich testovacích plánů. Power Apps Tato funkce zvyšuje flexibilitu a opětovnou použitelnost testovacích případů tím, že vám umožňuje vytvářet komplexní funkce přizpůsobené vašim specifickým potřebám testování.

Výhody UDF

  • Znovupoužitelnost: UDF umožňují definovat složité funkce jednou a znovu je použít v různých testovacích případech. Tím se snižuje redundance a zajišťuje konzistence vašich testovacích plánů.
  • Čitelnost: Použití UDF usnadňuje čitelnost a údržbu testovacích plánů. Definováním vlastních funkcí můžete zapouzdřit složitou logiku a učinit své testovací případy srozumitelnějšími.
  • Flexibilita: UDF poskytují flexibilitu pro vytváření vlastních funkcí, které odpovídají vašim specifickým požadavkům na testování. Tento přístup vám umožní přizpůsobit testovací případy tak, aby lépe odpovídaly potřebám vaší aplikace.
  • Údržba: S UDF lze změny funkcí provádět na jednom místě, což snižuje úsilí potřebné k aktualizaci více testovacích případů. To zlepšuje udržovatelnost vašich testovacích plánů.

Příklad UDF

Tento příklad ukazuje, jak definovat a používat UDF v souboru: testSettings.yaml

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);

Vysvětlení příkladu UDF

Sekce definuje dvě nové funkce: testFunctions

  • WaitUntilVisible bere parametr typu control a čeká, dokud nebude zadaný ovládací prvek viditelný pomocí selektoru DOM. Text
  • GetOptions bere parametr typu control a vrací možnosti pro zadaný ovládací prvek pomocí ControlName z modelem řízené aplikace (MDA). Power Fx

Použijte tyto funkce ve svých testovacích případech k provedení konkrétních akcí nebo k načtení dat. Například můžete použít WaitUntilVisible k zajištění viditelnosti ovládacího prvku před interakcí s ním a GetOptions k načtení a ověření dostupných možností pro ovládací prvek.