Delen via


Power Apps Test Engine Power Fx (voorbeeld)

Notitie

Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar voorafgaand aan een officiële release, zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.

U kunt gebruikmaken van de Learning Playground om zelf aan de slag te gaan en de functies uit te proberen die in deze handleiding worden beschreven.

Wat is Power Fx?

Microsoft Power Fx is een low-code, algemene programmeertaal gebaseerd op spreadsheet-achtige formules. Het is een getypte, declaratieve, functionele taal met imperatieve logica en statusbeheer die indien nodig beschikbaar zijn. Dankzij de geschiedenis van Excel is het toegankelijk voor een breed scala aan gebruikers, van beginners tot ervaren ontwikkelaars.

Geavanceerde scenario's Power Fx

Als u al bekend bent met Power Fx, kunt u door u te verdiepen in geavanceerde scenario's de mogelijkheden en efficiëntie van uw applicaties aanzienlijk verbeteren. Hier zijn enkele geavanceerde scenario's en waarom ze interessant kunnen zijn:

  • Aangepaste functies maken: Door aangepaste functies te maken kunnen ontwikkelaars complexe logica in herbruikbare componenten omzetten. Deze aanpak vereenvoudigt niet alleen het ontwikkelingsproces, maar zorgt ook voor consistentie en vermindert de kans op fouten. Aangepaste functies kunnen worden afgestemd op specifieke bedrijfsbehoeften, waardoor uw test krachtiger en flexibeler wordt.

  • Integratie met externe gegevensbronnen: Integratie Power Fx met externe gegevensbronnen zorgt ervoor dat uw tests kunnen communiceren met een breed scala aan gegevens, van databases tot webservices. Deze integratie kan de functionaliteit van uw applicaties verbeteren door realtime toegang tot gegevens en updates te bieden. Het maakt bovendien dynamischere en responsievere testen mogelijk die zich kunnen aanpassen aan veranderende gegevens.

  • Prestaties optimaliseren voor grootschalige tests: Naarmate uw tests complexer en grootschaliger worden, wordt prestatieoptimalisatie belangrijk. Deze optimalisaties kunnen betrekking hebben op de prestaties, zoals efficiënte gegevensverwerking en het gebruik van de ingebouwde functies van Power Fx voor betere prestaties. Dankzij deze optimalisaties blijven uw tests responsief en efficiënt, zelfs bij grote datasets en complexe logica.

Uitbreidbaarheidsmodel

Het uitbreidingsmodel van Test Engines is een van de vele aantrekkelijke functies. Power Fx U kunt de taal uitbreiden met aangepaste functies en acties, waardoor deze zeer aanpasbaar is aan verschillende scenario's. Hier zijn enkele belangrijke aspecten van het extensibiliteitsmodel:

  • Hergebruik de vaardigheden die u al hebt:'s uitbreidingsmodel maakt het mogelijk om uw bestaande vaardigheden te gebruiken in Power Fxen andere programmeertalen, zoals C#. Power Fx Met deze aanpak kunt u uw kennis en ervaring inbrengen in de Power Fx gebaseerde tests, waardoor het eenvoudiger wordt om krachtige en op maat gemaakte oplossingen te creëren.

  • Maak hergebruik van bestaande bibliotheken en functies mogelijk: Het uitbreidbaarheidsmodel maakt de integratie van bestaande bibliotheken en functies in Power Fx mogelijk. Met hergebruik kunnen ontwikkelaars beproefde code hergebruiken, waardoor de ontwikkeltijd wordt verkort en de betrouwbaarheid toeneemt. Door bestaande bibliotheken te integreren, kunt u de functionaliteit van uw applicaties verbeteren zonder dat u het wiel opnieuw hoeft uit te vinden. Power Fx

  • Biedt een model om complexiteit te encapsuleren voor gebruikers van de functies: Een van de belangrijkste voordelen van het extensibiliteitsmodel is de mogelijkheid om complexiteit te encapsuleren. Makers en ontwikkelaars kunnen aangepaste functies creëren die de ingewikkelde details van de onderliggende logica verbergen en zo een eenvoudige en gebruiksvriendelijke interface voor eindgebruikers creëren. Abstractie maakt het voor iedereen eenvoudiger om geavanceerde functionaliteit te gebruiken en ervan te profiteren, zonder dat men de complexiteit erachter hoeft te begrijpen.

  • Verbeter de samenwerking en consistentie: Teams kunnen een consistente set aangepaste functies en acties creëren die kunnen worden gedeeld en hergebruikt in verschillende projecten. Het gebruik van een gemeenschappelijk bestand kan de samenwerking bevorderen en zorgt ervoor dat best practices worden gevolgd. Dit leidt tot robuustere en beter onderhoudbare applicaties. testSettings.yaml

  • Integratie met externe systemen vergemakkelijken: Het uitbreidingsmodel maakt naadloze integratie met externe systemen en services mogelijk. Dit betekent dat u uw applicaties kunt verbinden met een breed scala aan gegevensbronnen en API's, waardoor de mogelijkheden ervan worden uitgebreid en u realtime toegang tot de gegevens krijgt. Power Fx

  • Ondersteuning voor geavanceerde scenario's: Het uitbreidingsmodel is ontworpen om geavanceerde scenario's te ondersteunen, zoals het maken van domeinspecifieke talen en aangepaste workflows. Deze flexibiliteit zorgt ervoor dat het kan worden aangepast aan de unieke behoeften van verschillende sectoren en use cases. Power Fx

Als ontwikkelaar of gevorderde maker die het extensibiliteitsmodel begrijpt en gebruikt, kunnen ontwikkelaars krachtigere, flexibelere en gebruiksvriendelijkere applicaties creëren Power Fx. Dit model verbetert niet alleen de mogelijkheden van de taal, maar maakt deze ook toegankelijker en waardevoller voor een breder scala aan gebruikers.

Door de gebruiker gedefinieerde typen

Met door de gebruiker gedefinieerde typen (UDT's) in Power Apps Test Engine kunt u aangepaste gegevensstructuren definiëren die binnen uw testplannen kunnen worden gebruikt. Deze functie verbetert de flexibiliteit en herbruikbaarheid van uw testcases, omdat u hiermee complexe gegevenstypen kunt maken die zijn afgestemd op uw specifieke testbehoeften.

UDT-voorbeeld

Dit voorbeeld laat zien hoe u UDT's in een testSettings.yaml bestand definieert en gebruikt:

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

Uitleg van UDT-voorbeeld

In de sectie powerFxTestTypes worden twee nieuwe typen gedefinieerd: ControlName en Options.

  • ControlName is een eenvoudig type met één enkele eigenschap ControlName van het type Text.
  • Options zijn een complexer type en vertegenwoordigen een lijst met objecten, elk met Name (van het type Text) en Value (van het type Number).

U kunt deze typen in uw testcases gebruiken om variabelen te definiëren en hun eigenschappen te valideren. U kunt bijvoorbeeld een variabele van het type Options instellen en valideren dat deze de verwachte Name en Value paren bevat.

Door de gebruiker gedefinieerde functies

Met door de gebruiker gedefinieerde functies (UDF's) in Power Apps Test Engine kunt u aangepaste functies definiëren die binnen uw testplannen kunnen worden gebruikt. Deze functie verbetert de flexibiliteit en herbruikbaarheid van uw testcases, omdat u hiermee complexe functies kunt maken die zijn afgestemd op uw specifieke testbehoeften.

UDF-voordelen

  • Herbruikbaarheid: Met UDF's kunt u complexe functies één keer definiëren en ze vervolgens hergebruiken in meerdere testcases. Hiermee wordt redundantie verminderd en wordt gezorgd voor consistentie in uw testplannen.
  • Leesbaarheid: Door UDF's te gebruiken worden uw testplannen leesbaarder en gemakkelijker te onderhouden. Door aangepaste functies te definiëren, kunt u complexe logica vastleggen en uw testcases begrijpelijker maken.
  • Flexibiliteit: UDF's bieden de flexibiliteit om aangepaste functies te creëren die passen bij uw specifieke testvereisten. Met deze aanpak kunt u uw testcases beter afstemmen op de behoeften van uw toepassing.
  • Onderhoudbaarheid: Met UDF's kunnen wijzigingen in functies op één plek worden aangebracht, waardoor de moeite die nodig is om meerdere testcases bij te werken, wordt verminderd. Dit verbetert de onderhoudbaarheid van uw testplannen.

UDF-voorbeeld

Dit voorbeeld laat zien hoe u UDF's in een testSettings.yaml bestand definieert en gebruikt:

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

UDF-voorbeelduitleg

De sectie testFunctions definieert twee nieuwe functies:

  • WaitUntilVisible neemt een control parameter van het type Text en wacht tot het opgegeven besturingselement zichtbaar is met behulp van een DOM-selector.
  • GetOptions neemt een control parameter van het type ControlName en retourneert de opties voor het opgegeven besturingselement met behulp van Power Fx een Model Driven App (MDA).

Gebruik deze functies in uw testcases om specifieke acties uit te voeren of gegevens op te halen. U kunt bijvoorbeeld WaitUntilVisible gebruiken om ervoor te zorgen dat een besturingselement zichtbaar is voordat u ermee werkt, en GetOptions om de beschikbare opties voor een besturingselement op te halen en te valideren.