Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Σημείωμα
Οι λειτουργίες προεπισκόπησης δεν προορίζονται για παραγωγική χρήση και ενδέχεται να έχουν περιορισμένη λειτουργικότητα. Αυτές οι δυνατότητες είναι διαθέσιμες πριν από μια επίσημη κυκλοφορία έτσι ώστε οι πελάτες να έχουν πρόσβαση από νωρίς και να κάνουν σχόλια.
Επισκόπηση
Power Apps Η Test Engine χρησιμοποιεί το Playwright ως βασική τεχνολογία αυτοματισμού προγράμματος περιήγησης. Αυτή η ενσωμάτωση παρέχει στο Test Engine ισχυρές, αξιόπιστες και δυνατότητες δοκιμών μεταξύ προγραμμάτων περιήγησης, ενώ προσθέτει πολλά επίπεδα αφαίρεσης για να απλοποιήσει τη δημιουργία δοκιμών για Power Platform εφαρμογές.
Πώς το Test Engine ενισχύει τον θεατρικό συγγραφέα
Ενώ το Playwright προσφέρει εξαιρετικές δυνατότητες αυτοματισμού προγράμματος περιήγησης, το Test Engine επεκτείνει αυτές τις δυνατότητες ειδικά για Power Platform:
| Δοκιμή βελτίωσης κινητήρα | Description |
|---|---|
| Αφαιρέσεις σε επίπεδο εφαρμογής | Ο μηχανισμός δοκιμής λειτουργεί με αντικείμενα σε επίπεδο εφαρμογής και όχι με στοιχεία DOM, καθιστώντας τις δοκιμές πιο ανθεκτικές στις αλλαγές περιβάλλοντος εργασίας χρήστη |
| Power Fx Ολοκλήρωση | Ο μηχανισμός δοκιμής προσθέτει Power Fx υποστήριξη, επιτρέποντας μια προσέγγιση χαμηλού κώδικα για τη σύνταξη δοκιμών |
| Ενσωματωμένος έλεγχος ταυτότητας | Οι προκατασκευασμένοι μηχανισμοί ελέγχου ταυτότητας χειρίζονται Microsoft Entra σενάρια και σενάρια πρόσβασης υπό όρους |
| Dataverse Ολοκλήρωση | Η άμεση ενσωμάτωση επιτρέπει Dataverse ολοκληρωμένες δοκιμές από άκρο σε άκρο |
| Εξειδικευμένοι Πάροχοι | Βελτιστοποιημένες υπηρεσίες παροχής για εφαρμογές καμβά και εφαρμογές βάσει μοντέλου |
Τεχνική εφαρμογή
Οι παρακάτω ενότητες περιγράφουν τον τρόπο με τον οποίο το Test Engine βασίζεται στη βάση αυτοματισμού του προγράμματος περιήγησης του Playwright και την ενσωματώνει με Power Platform συγκεκριμένες αφαιρέσεις, επιτρέποντας ισχυρή και διατηρήσιμη αυτοματοποίηση δοκιμών.
Θεμέλιο αυτοματισμού προγράμματος περιήγησης
Το Test Engine χρησιμοποιεί τις βασικές δυνατότητες του Playwright για συνεπή αυτοματοποίηση του προγράμματος περιήγησης:
- Υποστήριξη μεταξύ προγραμμάτων περιήγησης για το Chrome Firefox και Microsoft Edge
- Αξιόπιστοι μηχανισμοί αναμονής που περιμένουν αυτόματα τα στοιχεία να είναι έτοιμα
- Υποκλοπή αιτημάτων δικτύου για προσομοίωση αποκρίσεων API
- Εργαλεία εντοπισμού και εντοπισμού σφαλμάτων για τη διάγνωση αποτυχιών δοκιμών
Αρχιτεκτονική ολοκλήρωση της Test Engine
- Επίπεδο παρόχου: Το επίπεδο παρόχου στη μηχανή δοκιμής διασυνδέεται απευθείας με τα API Playwright για τον έλεγχο της συμπεριφοράς του προγράμματος περιήγησης
- Μοντέλο αντικειμένου: Αντί να εργάζεται με ακατέργαστα στοιχεία DOM, το Test Engine αντιστοιχίζεται σε μοντέλα αντικειμένων για συγκεκριμένες εφαρμογές
- Power Fx Επίπεδο: Τα βήματα δοκιμής που γράφονται σε Power Fx ερμηνεύονται και εκτελούνται μέσω του επιπέδου παρόχου
Βασικά τεχνικά χαρακτηριστικά
Οι ακόλουθες ενότητες επισημαίνουν σημαντικά τεχνικά χαρακτηριστικά που προσθέτει το Test Engine εκτός από το Playwright, συμπεριλαμβανομένων των επιλογέων για συγκεκριμένες εφαρμογές, της διαχείρισης περιβάλλοντος του προγράμματος περιήγησης και της άμεσης πρόσβασης στις λειτουργίες του Playwright για προηγμένα σενάρια.
Επιλογείς για συγκεκριμένες εφαρμογές
Το Test Engine χρησιμοποιεί επιλογείς για συγκεκριμένες εφαρμογές αντί για CSS επιλογείς ή XPath επιλογείς:
# Test Engine (using app-level selectors)
- testSteps: |
Select(Button1)
# Equivalent in raw Playwright (using DOM selectors)
Select(Button1)
# page.locator('div[data-control-name="Button1"]').click();
Διαχείριση περιβάλλοντος προγράμματος περιήγησης
Το Test Engine διαχειρίζεται περιβάλλοντα προγράμματος περιήγησης για την υποστήριξη διαφόρων σεναρίων ελέγχου ταυτότητας:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Λειτουργίες Direct Playwright
Ενώ το Test Engine αφαιρεί πολλές αλληλεπιδράσεις Playwright, υπάρχουν σενάρια όπου η άμεση πρόσβαση στις δυνατότητες του Playwright μπορεί να είναι πολύτιμη. Το Test Engine παρέχει διάφορες λειτουργίες προεπισκόπησης που επιτρέπουν την άμεση αλληλεπίδραση με το Playwright μέσα Power Fx από τα βήματα δοκιμής.
Χρήση συναρτήσεων Playwright στο Test Engine
Το Test Engine περιλαμβάνει τις ακόλουθες λειτουργίες προεπισκόπησης που σας επιτρέπουν να εφαρμόσετε τις δυνατότητες επιλογής στοιχείων του Playwright:
| Function | Description | Παράδειγμα |
|---|---|---|
| Preview.PlaywrightAction | Εκτέλεση ενέργειας σε στοιχεία χρησιμοποιώντας CSS ή επιλογείς DOM | Preview.PlaywrightAction("//button", "click") Δείτε Κοινές Επιχειρήσεις Δράσης Θεατρικών Συγγραφέων |
| Preview.PlaywrightActionValue | Εκτέλεση ενέργειας που απαιτεί παράμετρο τιμής | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Δείτε Common Playwright Action Value Operations |
| Προεπισκόπηση.PlaywrightScript | Εκτελέστε ένα προσαρμοσμένο σενάριο C# που διασυνδέεται με το Playwright | Preview.PlaywrightScript("sample.csx") Δείτε την ενότητα Για προχωρημένους: Προσαρμοσμένα σενάρια θεατρικών συγγραφέων |
| Προεπισκόπηση.Παύση | Παύση εκτέλεσης δοκιμής και εμφάνιση του Playwright Inspector | Preview.Pause() |
Σημείωμα
Για να χρησιμοποιήσετε αυτές τις λειτουργίες προεπισκόπησης, πρέπει να προσθέσετε τις λειτουργίες προεπισκόπησης στη λίστα επιτρεπόμενων στην ενότητα ρυθμίσεων δοκιμής.
Κοινές επιχειρήσεις δράσης θεατρικών συγγραφέων
Οι ακόλουθες λειτουργίες μπορούν να εκτελεστούν με το Preview.PlaywrightAction:
| Ενέργεια | Description | Παράδειγμα |
|---|---|---|
click |
Επιλογή στοιχείου με χρήση συμβάντος κλικ | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Ελέγξτε αν υπάρχει ένα στοιχείο | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Περιμένετε να είναι διαθέσιμο ένα στοιχείο | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Κοινές λειτουργίες αξίας δράσης θεατρικού συγγραφέα
Οι ακόλουθες λειτουργίες μπορούν να εκτελεστούν με το Preview.PlaywrightActionValue:
| Ενέργεια | Description | Παράδειγμα |
|---|---|---|
fill |
Συμπλήρωση πεδίου φόρμας με κείμενο | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Ορίστε μια επιλογή από μια λίστα επιλογών | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Ορισμός χαρακτηριστικού σε ένα στοιχείο | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Πότε να χρησιμοποιείτε τις λειτουργίες direct Playwright
Ενώ προτιμώνται οι αφαιρέσεις σε επίπεδο εφαρμογής, οι άμεσες λειτουργίες του Playwright είναι χρήσιμες σε αυτά τα σενάρια:
- Σύνθετες αλληλεπιδράσεις περιβάλλοντος εργασίας χρήστη που δεν καλύπτονται από τυπικές λειτουργίες μηχανισμού δοκιμής
- Στοιχεία τρίτων κατασκευαστών εντός Power Platform εφαρμογών που χρειάζονται ειδικό χειρισμό
- Εντοπισμός σφαλμάτων σε πολύπλοκα σενάρια δοκιμών όπου απαιτείται περισσότερος έλεγχος
- Προηγμένη επικύρωση καταστάσεων ή ιδιοτήτων στοιχείων
Παράδειγμα: Συνδυασμένη προσέγγιση
Αυτό το παράδειγμα δείχνει το συνδυασμό αφαιρέσεων σε επίπεδο εφαρμογής με άμεσες ενέργειες Playwright:
testSteps: |
# Use app-level abstraction for Power Apps control
Select(SubmitButton);
# Use direct Playwright action for a third-party component
Preview.PlaywrightAction("//div[@class='custom-calendar']//button[@data-day='15']", "click");
# Wait for a specific condition using Playwright
Preview.PlaywrightAction("//div[@data-status='complete']", "wait");
# Resume using app-level abstractions
Assert(Label1.Text = "Submission Complete");
Για προχωρημένους: Προσαρμοσμένα σενάρια θεατρικών συγγραφέων
Για εξαιρετικά εξειδικευμένα σενάρια, μπορείτε να δημιουργήσετε προσαρμοσμένες δέσμες ενεργειών Playwright:
-
.csxΔημιουργία αρχείου με τη λογική του προσαρμοσμένου Playwright - Απαιτείται παραπομπή Συνελεύσεις θεατρικών συγγραφέων
- Εφαρμογή της απαιτούμενης δομής κλάσεων
- Καλέστε το σενάριο από τα βήματα δοκιμής σας
// sample.csx
#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
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();
// Custom Playwright logic here
}
}
Σημείωμα
Το Preview.PlaywrightScript υλοποιείται μόνο για εκδόσεις εντοπισμού σφαλμάτων του μηχανισμού δοκιμής που έχει δημιουργηθεί από την προέλευση και όχι από το εργαλείο που κυκλοφόρησε pac test run .
Ενσωμάτωση στην αναπτυξιακή διαδικασία
Οι παρακάτω ενότητες περιγράφουν τον τρόπο με τον οποίο το Test Engine και το Playwright μπορούν να χρησιμοποιηθούν τόσο σε περιβάλλοντα τοπικής ανάπτυξης όσο και σε περιβάλλοντα CI/CD, υποστηρίζοντας μια σειρά ροών εργασίας από αλληλεπιδραστικό εντοπισμό σφαλμάτων έως αυτοματοποιημένη εκτέλεση διοχέτευσης.
Τοπική ανάπτυξη
Για την τοπική ανάπτυξη, το Test Engine παρέχει ένα πλήρες περιβάλλον:
- Εκτέλεση τοπικού προγράμματος περιήγησης με ορατότητα περιβάλλοντος εργασίας χρήστη
- Εκτέλεση δοκιμής βήμα προς βήμα
- Λεπτομερή αρχεία καταγραφής και διαγνωστικά
Ενσωμάτωση CI/CD
Σε περιβάλλοντα CI/CD, ο μηχανισμός δοκιμής μπορεί να εκτελέσει το Playwright σε λειτουργία χωρίς κεφάλι:
# Example Azure DevOps pipeline step
- task: PowerShell@2
displayName: 'Run Test Engine Tests'
inputs:
script: |
pac test run `
--provider canvas `
--test-plan-file "$(Build.SourcesDirectory)/tests/testplan.te.yaml" `
--tenant "$(TenantId)" `
--environment-id "$(EnvironmentId)"
Βέλτιστες πρακτικές
Όταν εργάζεστε με την ενσωμάτωση Playwright της Test Engine:
- Εστίαση σε αντικείμενα επιπέδου εφαρμογής και όχι σε στοιχεία DOM
- Χρησιμοποιήστε Power Fx συναρτήσεις για σύνθετη λογική αντί για ακατέργαστη JavaScript
- Επωφεληθείτε από τους ενσωματωμένους μηχανισμούς ελέγχου ταυτότητας
- Δεσμευμένες απευθείας συναρτήσεις Playwright για σενάρια όπου οι αφαιρέσεις σε επίπεδο εφαρμογής δεν επαρκούν
- Ελέγξτε τις δοκιμές που δημιουργούνται για βελτιστοποίηση της αναγνωσιμότητας και της συντήρησης