מנוע הבדיקה של Power Apps פונקציות Power Fx (מיושנות)

הערה

מנגנון הבדיקה הוצא משימוש והוא יוסר במהדורה עתידית. השתמש בדוגמאות Power Platform Playwright לביצוע אוטומציה של בדיקות בפלטפורמת Power ובשירותי Dynamics 365.

מנוע הבדיקה משתמש בפונקציות PowerFx הקיימות הבאות:

פונקציות אלו זמינות לשימוש במנוע הבדיקה בלבד:

מנוע הבדיקה מספק את פונקציות התצוגה המקדימה הבאות: ...

בדיקת פונקציות מנוע

פונקציות אלו זמינות לשימוש רק עם מנוע הבדיקה

צילום מסך

Screenshot(fileNameOfScreenshot)

פונקציה זו לוכדת צילום מסך של האפליקציה בנקודת הזמן הנוכחית. קובץ צילום המסך נשמר בתיקיית פלט הבדיקה ועם השם שסופק.

הערה

רק קבצי jpeg ו-png נתמכים.

דוגמה לצילום מסך

Screenshot("buttonClicked.png")

חכה

Wait(Control, Property, Value)

פונקציה זו ממתינה שהמאפיין של הבקרה יהיה שווה לערך שצוין.

דוגמה לחכות

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

פונקציות תצוגה מקדימה

ניתן לכלול את הפונקציות הבאות באופן אופציונלי בבדיקות כאשר מרחב השמות Power Fx Preview מבוצע על ידי הוספת Preview לרשימה allowPowerFxNamespaces במאפיין extensionModules של testSettings.

הערה

  • פונקציות התצוגה המקדימה עשויות להשתנות. ככל שפונקציות אלו הופכות מוכנות לשימוש רחב יותר, הן נחשבות כנעות בתוך מרחב השמות. TestEngine
  • ניתן להשתמש בפונקציות מוגדרות משתמש (User Defined Functions) כדי לעטוף Preview פונקציות כדי להקל על ההעברה לגרסאות שאינן תצוגה מקדימה של הפונקציה.
  • ניתן לגרום למודל להחזיר רק אובייקט JSON שניתן לנתח באמצעות הפונקציה ParseJSON .

תצוגה מקדימה.AIExecutePrompt

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

יש לקרוא להנחיית AI Builder בהתאמה אישית לקבלת תוצאות הטקסט של ההפעלה.

הערה

עיין בסעיף Dataverse שילוב בינה מלאכותית למידע על זמינות ותצורה של פונקציה זו.

סקור את שימוש ב-Preview.AIExecutePrompt לקבלת פרטים ותיאורים נוספים של השימוש בפונקציה זו.

דוגמה ל-Preview.AIExecutePrompt

הדוגמה הבאה קוראת להנחיית בינה מלאכותית בשם מדינה עיר הבירה עם ערך פרמטר של מדינה ומצפה שהפעלת המודל תחזיר מילה בודדת פריז

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

השהה את הבדיקה והצג את מפקח המחזאים אם מפעילים בדיקה אינטראקטיבית

הערה

בעיה ידועה: הפונקציה Preview.Pause אינה פותחת כראוי את המפקח עבור הפעלת בדיקת pac
תיאור: הפונקציה Preview.Pause נכשלת בפתיחת המפקח במהלך pac test run.
Workaround: ניתן להשתמש בגירסה קוד פתוח של Test Engine לפונקציונליות ההשהיה.

דוגמה של Preview.Pause

Preview.Pause()

תצוגה מקדימה. בחר שליטה

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

בחירת פקד באמצעות מודל אובייקט המסמך

דוגמה ל-Preview.SelectControl

בחר התאמה ראשונה Button3

Preview.SelectControl(Button3,1);

Preview.PlaywrightAction

Preview.PlaywrightAction(Text, Text)

בצע פעולה בעמוד הנוכחי באמצעות מאתר Playwright CSS או XPath

דוגמאות תצוגה מקדימה ל-PlaywrightAction

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

תצוגה מקדימה - ערך פעולה של Playwright

Preview.PlaywrightActionValue(Text, Text, Text)

בצע פעולה בעמוד הנוכחי באמצעות Playwright מאתר CSS או XPath עם ערך

דוגמאות של Preview.PlaywrightActionValue

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

תצוגה מקדימה.תסריט מחזאי

Preview.PlaywrightScript(Text)

הפעל את סקריפט ה-C# בדף הנוכחי

הערה

פונקציה זו מיושמת רק עבור גירסת ה- Build לאיתור באגים מ- קוד פתוח של Test Engine שאינו פועל ב- pac test run.

דוגמה ל-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({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" }
            }
         }
      }
   })

תצוגה מקדימה/סימולציה של Dataverse

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

דוגמה של Preview.SimulateDataverse

דוגמה זו, כאשר מתבצעת קריאה לשאילתה על הישות Dataverse עם שם לוגי sample_combotable היא מחזירה את הרשומות באמצעות הפונקציה טבלה

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 וקונקטור עם מנוע בדיקה (יצא משימוש)