Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Σημείωμα
Οι λειτουργίες προεπισκόπησης δεν προορίζονται για παραγωγική χρήση και ενδέχεται να έχουν περιορισμένη λειτουργικότητα. Αυτές οι δυνατότητες είναι διαθέσιμες πριν από μια επίσημη κυκλοφορία έτσι ώστε οι πελάτες να έχουν πρόσβαση από νωρίς και να κάνουν σχόλια.
Οι δοκιμές ορίζονται στο 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 ιδιότητα για να υποδείξετε ότι η εφαρμογή βασίζεται σε λύση.
Για να εντοπίσετε το λογικό όνομα της εφαρμογής:
- Ανοίξτε τη λύση που περιέχει την εφαρμογή σας στο Power Apps
- Χρησιμοποιήστε το Όνομα (όχι Εμφανιζόμενο όνομα) στη λίστα. Η τιμή ονόματος περιλαμβάνει το πρόθεμα προσαρμογής για τον εκδότη της λύσης.
Μεμονωμένες εφαρμογές
Όταν η εφαρμογή σας δεν έχει οριστεί μέσα σε μια λύση, πρέπει να χρησιμοποιήσετε την appId ιδιότητα .
Για να εντοπίσετε το αναγνωριστικό της εφαρμογής:
- Εντοπίστε την εφαρμογή στη λίστα Power Apps
- Ανοίξτε τις Λεπτομέρειες και σημειώστε το 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 (προεπισκόπηση)