Κοινοποίηση μέσω


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

Σημείωμα

Οι λειτουργίες προεπισκόπησης δεν προορίζονται για παραγωγική χρήση και ενδέχεται να έχουν περιορισμένη λειτουργικότητα. Αυτές οι δυνατότητες είναι διαθέσιμες πριν από μια επίσημη κυκλοφορία έτσι ώστε οι πελάτες να έχουν πρόσβαση από νωρίς και να κάνουν σχόλια.

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

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

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

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

testSuite

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

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

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

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

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

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

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

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

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

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

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

NetworkRequestMocks

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

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

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

TestCases

Ιδιοκτησία Δακτυλογραφώ Περιγραφή
testCaseName string Υποχρεωτικό. Το όνομα της υπόθεσης δοκιμής που χρησιμοποιείται για την αναφορά επιτυχίας και αποτυχίας
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

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

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

extensionModules

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

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

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

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

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

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

Η μηχανή δοκιμών υποστηρίζει διάφορες ρυθμίσεις γλώσσας και περιοχής, όπως υποδιαστολές και διαχωριστικά λίστας. Η testSettings.locale ιδιότητα ελέγχει αυτές τις συμπεριφορές. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Καθολική υποστήριξη στο 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.

Ιδιοκτησία Δακτυλογραφώ Περιγραφή
browser string Υποχρεωτικό. Το πρόγραμμα περιήγησης που θα εκκινηθεί κατά τη δοκιμή. Θα πρέπει να συμφωνούν με τα προγράμματα περιήγησης που υποστηρίζονται από τη playwright.
device string Προαιρετικό. Η συσκευή που θα προσομοιώνεται κατά την εκκίνηση του προγράμματος περιήγησης. Θα πρέπει να συμφωνούν με τις συσκευές που υποστηρίζονται από τη Playwright
screenHeight integer Προαιρετικό. Το ύψος της οθόνης που θα χρησιμοποιηθεί κατά την εκκίνηση του προγράμματος περιήγησης. Εάν καθοριστεί, screenWidth πρέπει να καθοριστεί επίσης.
screenWidth integer Προαιρετικό. Το πλάτος της οθόνης που θα χρησιμοποιηθεί κατά την εκκίνηση του προγράμματος περιήγησης. Εάν καθοριστεί, 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 Fx της μηχανής δοκιμών του Power Apps (προεπισκόπηση)