Power Apps Μηχανή Δοκιμών Power Fx Παρωχημένες Συναρτήσεις (υπό απόσυρση)

Note

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

Ο μηχανισμός δοκιμής χρησιμοποιεί αυτές τις υπάρχουσες λειτουργίες PowerFx:

Αυτές οι λειτουργίες είναι διαθέσιμες για χρήση μόνο στο μηχανισμό δοκιμής:

Ο μηχανισμός δοκιμής παρέχει αυτές τις λειτουργίες προεπισκόπησης:

Δοκιμή λειτουργιών κινητήρα

Αυτές οι λειτουργίες είναι διαθέσιμες μόνο για χρήση με τη μηχανή δοκιμής

Στιγμιότυπο οθόνης

Screenshot(fileNameOfScreenshot)

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

Note

Υποστηρίζονται μόνο αρχεία jpeg και png.

Παράδειγμα στιγμιότυπου οθόνης

Screenshot("buttonClicked.png")

Περίμενε

Wait(Control, Property, Value)

Αυτή η συνάρτηση περιμένει την ιδιότητα του στοιχείου ελέγχου να ισούται με την καθορισμένη τιμή.

Παράδειγμα αναμονής

Wait(Label1, "Text", "0")

Λειτουργίες προεπισκόπησης

Οι ακόλουθες συναρτήσεις μπορούν προαιρετικά να συμπεριληφθούν σε δοκιμές όταν ο Power Fx χώρος ονομάτων προεπισκόπησης προσθέτοντας Preview στη allowPowerFxNamespaces λίστα στην ιδιότητα extensionModules του testSettings.

Note

  • Οι λειτουργίες προεπισκόπησης υπόκεινται σε αλλαγές. Καθώς αυτές οι λειτουργίες είναι έτοιμες για ευρύτερη χρήση, θεωρείται ότι κινούνται εντός του TestEngine χώρου ονομάτων.
  • Μπορείτε να χρησιμοποιήσετε συναρτήσεις καθορισμένες από το χρήστη για να αναδιπλώσετε Preview συναρτήσεις για να διευκολύνετε τη μετεγκατάσταση σε εκδόσεις χωρίς προεπισκόπηση της συνάρτησης.
  • Θα μπορούσατε να ρυθμίσετε το μοντέλο ώστε να επιστρέφει μόνο ένα αντικείμενο JSON που θα μπορούσατε να αναλύσετε χρησιμοποιώντας τη ParseJSON συνάρτηση.

Preview.AIExecutePrompt

Preview.AIExecutePrompt(Name, {Property: Type})

Καλέστε ένα Προσαρμοσμένο ερώτημα του AI Builder και λάβετε τα αποτελέσματα κειμένου από την εκτέλεση.

Note

Ανατρέξτε στην Dataverse ενότητα Ενσωμάτωση AI για πληροφορίες σχετικά με τη διαθεσιμότητα και τη διαμόρφωση αυτής της λειτουργίας.

Ανατρέξτε στην ενότητα Χρήση του Preview.AIExecutePrompt για περισσότερες λεπτομέρειες και περιγραφές σχετικά με τη χρήση αυτής της συνάρτησης.

Παράδειγμα Preview.AIExecutePrompt

Το παρακάτω παράδειγμα καλεί τη γραμμή εντολών AI με όνομα Country Capital με τιμή παραμέτρων Countryκαι αναμένει ότι η εκτέλεση του μοντέλου θα επιστρέψει μία μόνο λέξη Paris

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)

Προεπισκόπηση.ΔιάλογοςΣυναίνεσης

Preview.ConsentDialog(Table({Text: Text}));

Περιμένετε για να επιβεβαιώσετε ένα παράθυρο διαλόγου συγκατάθεσης για μια εφαρμογή καμβά ή μια προσαρμοσμένη σελίδα εφαρμογής βάσει μοντέλου

Παράδειγμα Preview.ConsentDialog

Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));

Προεπισκόπηση.Παύση

Preview.Pause()

Διακόψτε προσωρινά τη δοκιμή και εμφανίστε τον Επιθεωρητή θεατρικού συγγραφέα εάν εκτελείτε μια αλληλεπιδραστική δοκιμή

Note

Γνωστό ζήτημα:Η συνάρτηση Preview.Pause δεν ανοίγει σωστά τον επιθεωρητή για δοκιμαστική εκτέλεση pac
Περιγραφή: Η Preview.Pause συνάρτηση αποτυγχάνει να ανοίξει τον επιθεωρητή κατά τη διάρκεια ενός pac test run.
Προσωρινή Λύση: Η έκδοση ανοιχτός κώδικας του Test Engine μπορεί να χρησιμοποιηθεί για τη λειτουργία παύσης.

Παράδειγμα Preview.Pause

Preview.Pause()

Preview.SelectControl

Preview.SelectControl(Control: ControlName, Index: Number)

Επιλογή στοιχείου ελέγχου με χρήση του μοντέλου αντικειμένου εγγράφου

Παράδειγμα Preview.SelectControl

Επιλέξτε την πρώτη Button3 αντιστοίχιση

Preview.SelectControl(Button3,1);

Preview.PlaywrightAction

Preview.PlaywrightAction(Text, Text)

Εκτελέστε μια ενέργεια στην τρέχουσα σελίδα χρησιμοποιώντας Playwright CSS ή έναν εντοπιστή XPath

Preview.PlaywrightAction Παραδείγματα

Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");

Preview.PlaywrightActionValue

Preview.PlaywrightActionValue(Text, Text, Text)

Εκτελέστε μια ενέργεια στην τρέχουσα σελίδα χρησιμοποιώντας έναν εντοπιστή CSS ή XPath του Playwright με μια τιμή.

Παραδείγματα Preview.PlaywrightActionValue

Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");

Προεπισκόπηση.PlaywrightScript

Preview.PlaywrightScript(Text)

Εκτελέστε τη δέσμη ενεργειών C# στην τρέχουσα σελίδα

Note

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

Παράδειγμα Preview.PlaywrightScript

Preview.PlaywrightScript("sample.csx")

Με το περιεχόμενο του sample.csx παρόμοιου με αυτόν τον κώδικα:

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Threading.Tasks;

public class PlaywrightScript {
    public static void Run(IBrowserContext context, ILogger logger) {
        Execute(context, logger).Wait();
    }

    public static async Task Execute(IBrowserContext context, ILogger logger) {
        var page = context.Pages.First();

        if ( page.Url == "about:blank" ) {
            var nextPage = context.Pages.Skip(1).First();
            await page.CloseAsync();
            page = nextPage;
        }

        foreach ( var frame in page.Frames ) {
            if ( await frame.Locator("button:has-text('Button')").CountAsync() > 0 ) {
                await frame.ClickAsync("button:has-text('Button')");
            }
        }
    }
}

Preview.SimulateConnector

Preview.SimulateConnector({name: Text, then: Record})

Όταν γίνεται μια κλήση από το Power Apps σε έναν τύπο σύνδεσης που βρίσκεται από Λιστοί όλων των Power Apps συνδέσεων

Παράδειγμα Preview.SimulateConnector

Preview.SimulateConnector({
   name: "msnweather", 
   then: {responses: { 
      daily: { 
         day: { 
            summary: "You are seeing the mock response" }
            }
         }
      }
   })

Preview.SimulateDataverse

Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})

Παράδειγμα Preview.SimulateDataverse

Αυτό το παράδειγμα, όταν πραγματοποιείται μια κλήση για ερώτημα στην Dataverse οντότητα με λογικό όνομα sample_combotable , επιστρέφει τις εγγραφές χρησιμοποιώντας τη συνάρτηση Table

Preview.SimulateDataverse({
    Action: "Query",
    Entity: "sample_combotable",
    Then: Table(
    {
        'sample_name': "Item 1",
        'sample_id': 3,
        'sample_combotableid': "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        'createdon': "2024-12-02T17:52:45Z"
    },
    {
        'sample_name': "RR2",
        'sample_id': 4,
        'sample_combotableid': "bbbbbbbb-1111-2222-3333-cccccccccccc",
        'createdon': "2024-12-02T17:54:45Z"
    },
        {
        'sample_name': "RR3",
        'sample_id': 5,
        'sample_combotableid': "cccccccc-2222-3333-4444-dddddddddddd",
        'createdon': "2024-12-02T17:54:45Z"
    }
    )
});

Προσομοίωση dataverse και σύνδεσης με μηχανή δοκιμών (υπό απόσυρση)