Power Apps μορφή YAML μηχανής δοκιμών (υπό απόσυρση)

Σημείωμα

Η μηχανή δοκιμής έχει καταργηθεί και θα καταργηθεί σε μελλοντική έκδοση. Χρησιμοποιήστε τα δείγματα Power Platform Playwright για δυνατότητες αυτοματισμού δοκιμών στο Power Platform και στις υπηρεσίες Dynamics 365.

Οι δοκιμές ορίζονται στο YAML ακολουθώντας τις ίδιες οδηγίες με το Power Fx. Μάθετε περισσότερα σχετικά με τη γραμματική του τύπου Power Fx YAML.

Προβάλετε τον φάκελο PowerApps-TestEngine/samples για λεπτομερή παραδείγματα.

Ορισμοί σχήματος YAML

Property Περιγραφή
testSuite Ορίζει μία οικογένεια δοκιμών, τις υποθέσεις δοκιμής στην οικογένεια δοκιμών και τη ρύθμιση παραμέτρων ειδικά για την οικογένεια δοκιμών
testSettings Καθορίζει ρυθμίσεις για την οικογένεια δοκιμών που επαναχρησιμοποιούνται σε πολλές υποθέσεις δοκιμής
environmentVariables Καθορίζει μεταβλητές που ενδέχεται να αλλάξουν καθώς η εφαρμογή μεταφέρεται σε διαφορετικά περιβάλλοντα

testSuite

Χρησιμοποιείται για τον ορισμό μίας δοκιμής.

Property Τύπος Περιγραφή
persona συμβολοσειρά Υποχρεωτικό. Ο χρήστης που είναι συνδεδεμένος για να εκτελέσει τη δοκιμή. Πρέπει να συμφωνούν με μια προσωπικότητα που παρατίθεται στην ενότητα Χρήστες .
testCases TestCases Υποχρεωτικό. Καθορίζει τις υποθέσεις δοκιμής στην οικογένεια δοκιμών. Οι υποθέσεις δοκιμής που περιέχονται στις οικογένειες δοκιμών εκτελούνται διαδοχικά. Η κατάσταση της εφαρμογής διατηρείται σε όλες τις υποθέσεις δοκιμής σε μια οικογένεια δοκιμών.
testSuiteName συμβολοσειρά Υποχρεωτικό. Το όνομα της οικογένειας δοκιμών.
appLogicalName συμβολοσειρά Προαιρετικό. Το λογικό όνομα της εφαρμογής που θα εκκινηθεί. Μπορεί να ληφθεί από τη λύση. Για εφαρμογές καμβά, πρέπει να το προσθέσετε σε μια λύση για να το αποκτήσετε. Ανατρέξτε στο θέμα Πώς μπορείτε να προσδιορίσετε την εφαρμογή σας στο πρόγραμμα δοκιμών
appId Guid Προαιρετικό. Το αναγνωριστικό της εφαρμογής που πρόκειται να εκκινηθεί. Απαιτείται και χρησιμοποιείται μόνο όταν appLogicalName δεν υπάρχει. Το Αναγνωριστικό εφαρμογής πρέπει να χρησιμοποιείται μόνο για εφαρμογές καμβά που δεν βρίσκονται στη λύση. Ανατρέξτε στο θέμα Πώς μπορείτε να προσδιορίσετε την εφαρμογή σας στο πρόγραμμα δοκιμών
networkRequestMocks NetworkRequestMocks Προαιρετικό. Καθορίζει μακέτες αιτήσεων δικτύου που απαιτούνται για τη δοκιμή.
onTestCaseComplete συμβολοσειρά Προαιρετικό. Καθορίζει τα βήματα που πρέπει να ενεργοποιηθούν για κάθε υπόθεση δοκιμής σε μια οικογένεια δοκιμών, αφού ολοκληρωθεί η εκτέλεση της υπόθεσης.
onTestCaseStart συμβολοσειρά Προαιρετικό. Καθορίζει τα βήματα που πρέπει να ενεργοποιηθούν για κάθε υπόθεση δοκιμής σε μια οικογένεια δοκιμών προτού ξεκινήσει η εκτέλεση της υπόθεσης.
onTestSuiteComplete συμβολοσειρά Προαιρετικό. Καθορίζει τα βήματα που πρέπει να ενεργοποιηθούν αφού ολοκληρωθεί η εκτέλεση της οικογένειας προγραμμάτων.
testSuiteDescription συμβολοσειρά Προαιρετικό. Πρόσθετες πληροφορίες περιγράφουν τι κάνει η οικογένεια δοκιμών.

Πώς μπορείτε να προσδιορίσετε την εφαρμογή σας στο σχέδιο δοκιμών

Πρέπει να ορίσετε ένα από appLogicalName τα δύο ή appId να προσδιορίσετε την εφαρμογή σας. Το οποίο χρησιμοποιείτε εξαρτάται από το αν η εφαρμογή σας έχει οριστεί εντός μιας λύσης.

Όταν ορίζετε τις εφαρμογές σας εντός λύσεων, οι δοκιμές σας παραμένουν φορητές σε όλα τα περιβάλλοντα. Ορίστε την appLogicalName ιδιότητα για να υποδείξετε ότι η εφαρμογή βασίζεται σε λύση.

Για να εντοπίσετε το λογικό όνομα της εφαρμογής:

  1. Ανοίξτε τη λύση που περιέχει την εφαρμογή σας σε Power Apps
  2. Χρησιμοποιήστε το Όνομα (όχι Εμφανιζόμενο όνομα) στη λίστα. Η τιμή ονόματος περιλαμβάνει το πρόθεμα προσαρμογής για τον εκδότη της λύσης.

Μεμονωμένες εφαρμογές

Όταν η εφαρμογή σας δεν έχει οριστεί μέσα σε μια λύση, πρέπει να χρησιμοποιήσετε την appId ιδιότητα .

Για να εντοπίσετε το αναγνωριστικό της εφαρμογής:

  1. Εντοπίστε την εφαρμογή στη λίστα Power Apps
  2. Ανοίξτε τις Λεπτομέρειες και σημειώστε το GUID αναγνωριστικό εφαρμογής

NetworkRequestMocks

Property Τύπος Περιγραφή
requestURL συμβολοσειρά Υποχρεωτικό. Η διεύθυνση URL αίτησης που λαμβάνει εικονική απόκριση. Τα μοτίβα σφαιρών είναι αποδεκτά
responseDataFile συμβολοσειρά Υποχρεωτικό. Ένα αρχείο κειμένου με το περιεχόμενο της εικονικής απόκρισης. Όλο το κείμενο σε αυτό το αρχείο διαβάζεται ως απόκριση
headers παράταξη Προαιρετικό. Μια λίστα πεδίων κεφαλίδας στην αίτηση με τη μορφή [fieldName: fieldValue]
method συμβολοσειρά Προαιρετικό. Η μέθοδος της αίτησης (GET, POST κ.λπ.)
requestBodyFile συμβολοσειρά Προαιρετικό. Ένα αρχείο κειμένου με το σώμα της αίτησης. Όλο το κείμενο σε αυτό το αρχείο διαβάζεται ως το σώμα της αίτησης

Για προαιρετικές ιδιότητες, εάν δεν έχει καθοριστεί τιμή, η δρομολόγηση ισχύει για όλες. Για παράδειγμα, εάν method το είναι null, στέλνουμε πίσω την εικονική απόκριση όποια και αν είναι η μέθοδος εφόσον συμφωνούν όλες οι άλλες ιδιότητες.

Για εφαρμογές requestURL Sharepoint/Dataverse/Connector και method μπορεί να είναι ίδια για όλες τις αιτήσεις. x-ms-request-method Το και x-ms-request-url στις κεφαλίδες μπορεί να χρειαστεί να ρυθμιστούν σε αυτή την περίπτωση για τον προσδιορισμό διαφορετικών αιτήσεων.

TestCases

Property Τύπος Περιγραφή
testCaseName συμβολοσειρά Υποχρεωτικό. Το όνομα της υπόθεσης δοκιμής που χρησιμοποιείται για την αναφορά επιτυχίας και αποτυχίας
testSteps TestSteps Υποχρεωτικό. Ένα σύνολο συναρτήσεων Power Fx που περιγράφουν τα βήματα που απαιτούνται για την εκτέλεση της υπόθεσης δοκιμής. Ανατρέξτε στο παράδειγμα TestSteps
testCaseDescription Αρ. Προαιρετικό. Πρόσθετες πληροφορίες περιγράφουν τι κάνει η υπόθεση δοκιμής

TestSteps

  • TestSteps Μπορεί να χρησιμοποιήσει οποιεσδήποτε υπάρχουσες συναρτήσεις Power Fx μηχανισμού δοκιμών ή συγκεκριμένες συναρτήσεις δοκιμής που ορίζονται από αυτό το πλαίσιο.
  • Η τιμή θα πρέπει να ξεκινά με ένα σύμβολο διοχέτευσης (|) για να επιτρέπει παραστάσεις YAML πολλών γραμμών ακολουθούμενη από ένα σύμβολο ίσον (=) για να υποδείξει ότι πρόκειται για μια παράσταση Power Fx
  • Οι συναρτήσεις πρέπει να διαχωρίζονται με ερωτηματικό (;).
  • Τα σχόλια μπορούν να χρησιμοποιηθούν και θα πρέπει να ξεκινούν με διπλούς χαρακτήρες ανάστροφη κάθετο (//).

Παράδειγμα TestSteps

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

Χρησιμοποιείται για τον ορισμό ρυθμίσεων για τις δοκιμές στο σχέδιο δοκιμών.

Property Τύπος Περιγραφή
browserConfigurations BrowserConfiguration[] Υποχρεωτικό. Μια λίστα ρυθμίσεων παραμέτρων προγράμματος περιήγησης προς δοκιμή. Πρέπει να καθοριστεί τουλάχιστον ένα πρόγραμμα περιήγησης.
extensionModules extensionModules Προαιρετικό. Περιέχει δεδομένα σχετικά με επεκτάσεις για ενεργοποίηση.
filePath συμβολοσειρά Προαιρετικό. Η διαδρομή αρχείου σε ένα ξεχωριστό αρχείο yaml με όλες τις ρυθμίσεις δοκιμής. Εάν παρέχεται, θα παρακάμψει όλες τις ρυθμίσεις δοκιμής στο σχέδιο δοκιμών.
headless δυαδική τιμή Προαιρετικό. Η προεπιλογή είναι true. Εάν οριστεί σε false, το πρόγραμμα περιήγησης εμφανίζεται κατά την εκτέλεση της δοκιμής.
locale συμβολοσειρά Προαιρετικό. Η σύνταξη τοπικών ρυθμίσεων/κουλτούρας στην οποία συντάσσονται οι υποθέσεις δοκιμής ή τα βήματα δοκιμής. Εάν δεν καθοριστεί, CultureInfo.CurrentCulture το χρησιμοποιείται για τις τοπικές ρυθμίσεις από προεπιλογή για την ανάλυση των βημάτων δοκιμής. Ανατρέξτε στο θέμα Θέματα περιοχής και γλώσσας
recordVideo δυαδική τιμή Προαιρετικό. Η προεπιλογή είναι false. Εάν οριστεί σε true, καταγράφεται μια εγγραφή βίντεο της δοκιμής.
timeout ακέραιος Προαιρετικό. Τιμή χρονικού ορίου σε χιλιοστά του δευτερολέπτου. Η προεπιλογή είναι 30.000 χιλιοστά του δευτερολέπτου (30s). Εάν οποιαδήποτε λειτουργία διαρκέσει περισσότερο από το όριο χρονικού ορίου, τερματίζει τη δοκιμή με μια αποτυχία.
powerFxTestTypes name value ζευγάρι Προαιρετικό. Μια λίστα με το όνομα τύπου και τους ορισμούς τύπου Power Fx. Παράδειγμα powerFxTestTypes
testFunctions description code ζευγάρι Προαιρετικό. Μια λίστα με την περιγραφή και τους ορισμούς συναρτήσεων Power Fx. Παράδειγμα testFunctions

extensionModules

Περιέχει δεδομένα σχετικά με επεκτάσεις για ενεργοποίηση.

Property Τύπος Περιγραφή
enable bool Εάν είναι ενεργοποιημένες οι λειτουργικές μονάδες επέκτασης ή όχι.
allowPowerFxNamespaces λίστα Λίστα των χώρων ονομάτων PowerFx για ενεργοποίηση.
parameters ζεύγη τιμής κλειδιού Ιδιότητες με τιμές για τον έλεγχο μονάδων επέκτασης. Προς το παρόν, μόνο η δυαδική enableDataverseFunctions παράμετρος είναι έγκυρη για αυτό.

Αυτό το παράδειγμα εμφανίζει τον τρόπο ενεργοποίησης του χώρου ονομάτων PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Μάθετε περισσότερα σχετικά με τις συναρτήσεις προεπισκόπησης

Θέματα περιοχής και γλώσσας

Η μηχανή δοκιμών υποστηρίζει διάφορες ρυθμίσεις γλώσσας και περιοχής, όπως υποδιαστολές και διαχωριστικά λίστας. Η testSettings.locale ιδιότητα ελέγχει αυτές τις συμπεριφορές. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Global Support στο Microsoft Power Fx.

Εξετάστε αυτά τα δείγματα ρυθμίσεων παραμέτρων στο αποθετήριο δεδομένων PowerApps-TestEngine GitHub:

παράδειγμα powerFxTestTypes

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

Αυτό το παράδειγμα παρουσιάζει πώς μπορείτε να ορίσετε προσαρμοσμένους τύπους Power Fx για χρήση στις υποθέσεις δοκιμής σας. Ο ControlName τύπος ορίζεται ως εγγραφή με ένα μοναδικό Text πεδίο, ενώ ο Options τύπος ορίζεται ως πίνακας εγγραφών, κάθε ένα από τα οποία περιέχει ένα Name πεδίο τύπου Text και ένα Value πεδίο τύπου Number. Οι προσαρμοσμένοι τύποι μπορούν να χρησιμοποιηθούν για τη δημιουργία πιο σύνθετων και συγκεκριμένων σεναρίων δοκιμών, βελτιώνοντας την ευελιξία και την ισχύ των ορισμών δοκιμής σας.

παράδειγμα testFunctions

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

Αυτά τα παραδείγματα συνάρτησης δοκιμής δείχνουν πώς μπορείτε να ορίσετε προσαρμοσμένες συναρτήσεις Power Fx για χρήση στις υποθέσεις δοκιμής σας. Η WaitUntilVisible συνάρτηση χρησιμοποιεί έναν επιλογέα DOM για να περιμένει μέχρι να είναι ορατό ένα καθορισμένο στοιχείο ελέγχου, χρησιμοποιώντας ενέργειες Playwright. Η συνάρτηση GetOptions ανακτά τις επιλογές για ένα καθορισμένο στοιχείο ελέγχου από μια εφαρμογή βάσει μοντέλου (MDA), χρησιμοποιώντας το στοιχείο ελέγχου Power Fx. Αυτές οι προσαρμοσμένες συναρτήσεις βελτιώνουν την ευελιξία και την ισχύ των ορισμών δοκιμής σας, επιτρέποντας πιο σύνθετα και συγκεκριμένα σενάρια δοκιμής.

BrowserConfiguration

Κάθε testSettings απαιτεί τουλάχιστον ένα BrowserConfiguration.

Property Τύπος Περιγραφή
browser συμβολοσειρά Υποχρεωτικό. Το πρόγραμμα περιήγησης που θα εκκινηθεί κατά τη δοκιμή. Θα πρέπει να συμφωνούν με τα προγράμματα περιήγησης που υποστηρίζονται από τη playwright.
device συμβολοσειρά Προαιρετικό. Η συσκευή που θα προσομοιώνεται κατά την εκκίνηση του προγράμματος περιήγησης. Θα πρέπει να συμφωνούν με τις συσκευές που υποστηρίζονται από τη Playwright
screenHeight ακέραιος Προαιρετικό. Το ύψος της οθόνης που θα χρησιμοποιηθεί κατά την εκκίνηση του προγράμματος περιήγησης. Εάν καθοριστεί, screenWidth πρέπει να καθοριστεί επίσης.
screenWidth ακέραιος Προαιρετικό. Το πλάτος της οθόνης που θα χρησιμοποιηθεί κατά την εκκίνηση του προγράμματος περιήγησης. Εάν καθοριστεί, screenHeight πρέπει να καθοριστεί επίσης.

environmentVariables

Μπορείτε να αποθηκεύσετε διαφορετικούς τύπους τιμών ως περιβαλλοντικές τιμές, αλλά η πιο συνηθισμένη περίπτωση είναι η αποθήκευση πληροφοριών διαπιστευτηρίων με μια λίστα χρηστών.

Χρήστες

Για να διασφαλιστεί ότι τα διαπιστευτήρια αποθηκεύονται με ασφαλή τρόπο, ο ορισμός δοκιμής αναφέρεται στους χρήστες με χρήση ενός personaName. Η αποθήκευση διαπιστευτηρίων σε αρχεία σχεδίου δοκιμής δεν υποστηρίζεται.

Παράδειγμα:

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

Το personaName χρησιμοποιείται ως μέρος του ορισμού δοκιμής για να υποδείξει ποιος χρήστης θα εκτελέσει τη δοκιμή ως.

Υποστηριζόμενοι μηχανισμοί αποθήκευσης διαπιστευτηρίων

Για να αποθηκεύσετε διαπιστευτήρια ως μεταβλητές περιβάλλοντος, μπορείτε να τα ορίσετε ως εξής:

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

Στο YAML, πρέπει να οριστούν δύο ιδιότητες για να υποδείξουν ότι τα διαπιστευτήρια αυτού του χρήστη αποθηκεύονται σε μεταβλητές περιβάλλοντος:

  • emailKey: Η μεταβλητή περιβάλλοντος που χρησιμοποιείται για την αποθήκευση της διεύθυνσης ηλεκτρονικού ταχυδρομείου του χρήστη.

Παράδειγμα YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Παράδειγμα PowerShell για τον ορισμό διαπιστευτηρίων χρήστη με βάση το YAML:

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

Δείτε επίσης

επισκόπηση του μηχανισμού δοκιμών Power Apps (υπό απόσυρση)
Power Apps Test Engine συναρτήσεις Power Fx (καταργημένο)