Jaa


Power Appsin testimoduulin YAML-muoto (esikatselu)

Note

Esiversiotoimintoja ei ole tarkoitettu tuotantokäyttöön, ja niiden toiminnot voivat olla rajoitettuja. Nämä toiminnot ovat käytettävissä ennen virallista julkaisua, jotta asiakkaat voivat käyttää niiden ennakkojulkaisua ja antaa palautetta.

Testit määritetään YAML:ssä samojen ohjeiden mukaisesti kuin Power Fx. Lue lisää Power Fx YAML -kaavan kieliopista.

Tarkempia esimerkkejä on PowerApps-TestEngine/samples-kansiossa .

YAML-rakenteen määritykset

Ominaisuus Description
testSuite Määrittää yhden testiohjelmiston, testiohjelmiston testitapaukset ja testiohjelmiston tarkan määrityksen
testSettings Määrittää testiohjelmiston asetukset, joita käytetään uudelleen useissa testitapauksissa
environmentVariables Määrittää muuttujat, jotka voivat muuttua, kun sovellus siirretään eri ympäristöihin

testSuite

Käytetään yhden testin määrittämiseen.

Ominaisuus Tyyppi Description
persona merkkijono Pakollinen. Käyttäjä, joka on kirjautunut sisään suorittamaan testin. On vastattava Käyttäjät-osassa mainittua persoonaa.
testCases TestCases Pakollinen. Määrittää testitapaukset testiohjelmistossa. Testiohjelmistojen testitapaukset suoritetaan peräkkäin. Sovelluksen tila säilyy kaikissa testitapauksissa ohjelmistossa.
testSuiteName merkkijono Pakollinen. Testiohjelmiston nimi.
appLogicalName merkkijono Valinnainen. Käynnistettävän sovelluksen looginen nimi. Se voidaan saada ratkaisusta. Pohjaan perustuvissa sovelluksissa se on lisättävä ratkaisuun, jotta sovellus voidaan hankkia. Katso , miten voit tunnistaa sovelluksesi testaussuunnitelmassa
appId GUID-tunnus Valinnainen. Käynnistettävän sovelluksen tunnus. Pakollinen ja käytetään vain, kun appLogicalName sitä ei ole olemassa. Sovellustunnusta tulee käyttää vain pohjaan perustuville sovelluksille, jotka eivät ole ratkaisussa. Katso , miten voit tunnistaa sovelluksesi testaussuunnitelmassa
networkRequestMocks NetworkRequestMocks Valinnainen. Määrittää testiin tarvittavat verkkopyyntöjen pilkat.
onTestCaseComplete merkkijono Valinnainen. Määrittää vaiheet, jotka on käynnistettävä jokaista testitapausta varten ohjelmistossa sen jälkeen, kun tapaus on suoritettu loppuun.
onTestCaseStart merkkijono Valinnainen. Määrittää vaiheet, jotka on käynnistettävä jokaista ohjelmistossa olevaa testitapausta varten ennen tapauksen suorittamisen aloittamista.
onTestSuiteComplete merkkijono Valinnainen. Määrittää vaiheet, jotka on käynnistettävä sen jälkeen, kun ohjelmistopaketin suorittaminen on päättynyt.
testSuiteDescription merkkijono Valinnainen. Lisätiedot kuvaavat, mitä testiohjelmisto tekee.

Sovelluksen tunnistaminen testisuunnitelmassa

Sinun täytyy määrittää joko appLogicalName tai appId tunnistaa sovelluksesi. Käyttö määräytyy sen mukaan, onko sovelluksesi määritetty ratkaisussa.

Kun määrität sovelluksia ratkaisuissa, testit pysyvät aina mukana kaikissa ympäristöissä. appLogicalName Määritä ominaisuus osoittamaan, että sovellus perustuu ratkaisuun.

Paikanna sovelluksen looginen nimi seuraavasti:

  1. Avaa sovelluksesi sisältävä ratkaisu Power Appsissa
  2. Käytä luettelon nimeä (ei näyttönimeä). Nimiarvo sisältää ratkaisujulkaisijan mukautusetuliitteen.

Erilliset sovellukset

Kun sovellustasi ei ole määritetty ratkaisussa, sinun on käytettävä -ominaisuutta appId .

Sovelluksen tunnuksen paikantaminen:

  1. Etsi sovellus Power Apps-luettelosta
  2. Avaa Tiedot ja kirjoita muistiin sovellustunnuksen GUID-tunnus

NetworkRequestMocks

Ominaisuus Tyyppi Description
requestURL merkkijono Pakollinen. Pyynnön URL-osoite, joka saa valevastauksen. Glob-mallit hyväksytään
responseDataFile merkkijono Pakollinen. Tekstitiedosto, jossa on mallivastauksen sisältö. Kaikki tämän tiedoston teksti luetaan vastaukseksi
headers matriisi Valinnainen. Luettelon ylätunnistekentistä pyynnössä muodossa [fieldName: fieldValue]
method merkkijono Valinnainen. Pyynnön menetelmä (GET, POST jne.)
requestBodyFile merkkijono Valinnainen. Tekstitiedosto, jossa on pyynnön leipäteksti. Kaikki tämän tiedoston teksti luetaan pyynnön leipätekstinä

Jos valinnaisille ominaisuuksille ei ole määritetty arvoa, reititys koskee kaikkia. Jos esimerkiksi method on tyhjäarvo, lähetämme takaisin mallivastauksen riippumatta siitä, mikä menetelmä on, kunhan muut ominaisuudet vastaavat toisiaan.

SharePoint-, requestURL Dataverse/Connector-sovelluksissa ja method se voi olla sama kaikille pyynnöille. x-ms-request-method lisäksi x-ms-request-url otsikoissa saattaa olla tarpeen määrittää eri pyyntöjä.

TestCases

Ominaisuus Tyyppi Description
testCaseName merkkijono Pakollinen. Onnistumisen ja epäonnistumisen raportoinnissa käytetyn testitapauksen nimi
testSteps Testivaiheet Pakollinen. Joukko Power Fx -funktioita, jotka kuvaavat testitapauksen suorittamiseen tarvittavat vaiheet. Katso esimerkki Testivaiheet
testCaseDescription Ei Valinnainen. Lisätietoja kuvaa testitapauksen toiminta

Testivaiheet

  • TestSteps voi käyttää mitä tahansa olemassa olevia Power Fx -testifunktioita tai tämän kehyksen määrittämiä testifunktioita .
  • Arvon tulee alkaa putkisymbolilla (|), joka sallii moniriviset YAML-lausekkeet, ja yhtäläisyysmerkki (=), joka ilmaisee, että kyseessä on Power Fx -lauseke
  • Funktiot tulee erottaa puolipisteellä (;).
  • Kommentteja voidaan käyttää, ja ne tulee alkaa kaksinkertaisilla kenoviivamerkeillä (//).

Esimerkki testivaiheista

testCases:
   - testCaseName: Fill in a city name and do the search
   testSteps: |
      = Screenshot("connectorapp_loaded.png");
         SetProperty(TextInput1.Text, "Atlanta");
         Select(Button1);
         Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
         Screenshot("connectorapp_end.png");

testSettings

Käytetään määrittämään testisuunnitelman testiasetukset.

Ominaisuus Tyyppi Description
browserConfigurations BrowserConfiguration[] Pakollinen. Luettelo testatsista selainmäärityksistä. Vähintään yksi selain on määritettävä.
extensionModules extensionModules Valinnainen. Sisältää käyttöön otettavat laajennusten tiedot.
filePath merkkijono Valinnainen. Tiedostopolku erilliseen yaml-tiedostoon, joka sisältää kaikki testiasetukset. Jos tämä on annettu, se ohittaa kaikki testaussuunnitelman testiasetukset.
headless boolean Valinnainen. Oletusarvo on tosi. Jos asetuksena on epätosi, selain näkyy testin suorittamisen aikana.
locale merkkijono Valinnainen. Kieliasetusten/maa-asetusten syntaksi, jossa testitapaukset tai testivaiheet kirjoitetaan. Jos tätä ei vahveta, CultureInfo.CurrentCulture käytetään kieliasetuksessa oletusarvoisesti testivaiheiden jäsentämiseen. Katso alue- ja kielinäkökohdat
recordVideo boolean Valinnainen. Oletusarvona on epätosi. Jos arvoksi on määritetty tosi, taltioitiin testin videotallenne.
timeout kokonaisluku Valinnainen. Aikakatkaisuarvo millisekunteihin. Oletus on 30 000 millisekuntia (30). Jos toiminto kestää aikakatkaisurajaa pidemmän aikaa, testi päättyy virheeseen.
powerFxTestTypes name value pari Valinnainen. Luettelo tyyppinimien ja Power Fx -tyyppimääritysten luettelosta. Katso esimerkki powerFxTestTypes-tyypeistä
testFunctions description code pari Valinnainen. Luettelo description- ja Power Fx -funktiomääritelmistä. Katso esimerkki testFunctions-funktiosta

extensionModules

Sisältää käyttöön otettavat laajennusten tiedot.

Ominaisuus Tyyppi Description
enable bool Onko laajennusmoduulit käytössä vai ei.
allowPowerFxNamespaces lista Luettelo powerFx-nimitiloista, jotka otetaan käyttöön.
parameters avainarvoparit Ominaisuudet, joilla on arvoja laajennusmoduulien hallintaan. Tällä hetkellä vain totuusarvoparametri enableDataverseFunctions kelpaa tähän.

Tässä esimerkissä näytetään, miten PowerFx-nimitila Preview otetaan käyttöön:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Lue lisätietoja esikatselufunktioista

Alue- ja kielinäkökohdat

Testimoduuli tukee eri kieliasetuksia ja alueellisia asetuksia, kuten desimaali- ja luetteloerottimia. - testSettings.locale ominaisuus ohjaa näitä toimintoja. Lisätietoja on artikkelissa Microsoft Power Fx:n yleinen tuki.

Tutustu näihin mallimäärityksiin PowerApps-TestEngine GitHub-säilössä:

esimerkki powerFxTestTypes-tyypistä

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

Tässä esimerkissä näytetään, miten voit määrittää mukautetut Power Fx -tyypit käytettäväksi testitapauksissa. Tyyppi ControlName on tietue, jolla on yksi Text kenttä, kun taas Options tyyppi on määritetty tietuetaulukoksi, jossa Name jokaisessa on tyyppiä Text ja kenttä, jonka tyyppi Valueon Number . Mukautettujen tyyppien avulla voidaan luoda monimutkaisempia ja tarkempia testiskenaarioita, mikä parantaa testimääritysten joustavuutta ja tehoa.

esimerkki testFunctions-funktiosta

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

Nämä testifunktiokon esimerkit esittelevät, miten voit määrittää testitapauksissa käytettäviksi mukautetut Power Fx -funktiot. Funktio WaitUntilVisible käyttää DOM-valitsinta odottamaan, kunnes määritetty ohjausobjekti on näkyvissä, käyttämällä Playwright-toimintoja. GetOptions-funktio noutaa määritetyn ohjausobjektin asetukset malliin perustuvasta sovelluksesta (MDA) käyttäen Power Fx -ohjausobjektia. Nämä mukautetut funktiot parantavat testimääritysten joustavuutta ja tehoa, mikä mahdollistaa monimutkaisemmat ja täsmälliset testiskenaariot.

Selaimen määritys

Jokainen testiAsetukset vaatii vähintään yhden BrowserConfiguration.

Ominaisuus Tyyppi Description
browser merkkijono Pakollinen. Testauksen aikana käynnistettävä selain. Pitäisi vastata Playwrightn tukemia selaimia.
device merkkijono Valinnainen. Laite, jota emuloidaan selaimen käynnistyessä. Pitäisi vastata Playwrightn tukemia laitteita
screenHeight kokonaisluku Valinnainen. Käytettävän näytön korkeus selaimen käynnistyessä. Jos tämä on määritetty, screenWidth on myös määritettävä.
screenWidth kokonaisluku Valinnainen. Käytettävän näytön leveys selaimen käynnistyksen yhteydessä. Jos tämä on määritetty, screenHeight on myös määritettävä.

environmentVariables

Voit tallentaa erityyppisiä arvoja ympäristöarvoina, mutta useimmiten tunnistetietojen tallentaminen käyttäjäluetteloon.

Käyttäjät

Jos haluat varmistaa, että tunnistetiedot tallennetaan turvallisesti, testimääritelmä viittaa käyttäjiin, jotka käyttävät -tunnistetietoa personaName. Tunnistetietojen tallentamista testisuunnitelmatiedostoihin ei tueta.

Esimerkki:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
        - personaName: "User2"
          emailKey: "user2Email"

- personaName arvoa käytetään osana testimääritelmää sen ilmaisemiseksi, millä käyttäjällä testi suoritetaan.

Tuetut tunnistetietojen tallennusmekanismit

Jos haluat tallentaa tunnistetiedot ympäristömuuttujina, voit määrittää ne seuraavasti:

# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

YAML:ssä on määritettävä kaksi ominaisuutta sen ilmaisemiseksi, että tämän käyttäjän tunnistetiedot tallennetaan ympäristömuuttujiin:

  • emailKey: Ympäristömuuttuja, jota käytetään käyttäjän sähköpostin tallentamiseen.

YAML-esimerkki:

    - personaName: "User1"
      emailKey: "user1Email"

Esimerkki PowerShellista käyttäjän tunnistetietojen määrittämiseksi YAML:n perusteella:

$env:user1Email = "someone@example.com"

Katso myös

Power Appsin testimoduulin yleiskatsaus (esikatselu)
Power Apps Test Engine Power Fx -toiminnot (esikatselu)