مشاركة عبر


Power Apps وظائف محرك Power Fx الاختبار (معاينة)

إشعار

الهدف من ميزات المعاينة ليس الاستخدام في الإنتاج وقد يكون لها دالات مقيدة. تتوفر هذه الميزات قبل إصدار رسمي وبذلك يستطيع العملاء الحصول على وصول مبكر وتقديم التعليقات.

يستخدم محرك الاختبار وظائف PowerFx الحالية التالية:

تتوفر هذه الوظائف للاستخدام في محرك الاختبار فقط:

يوفر محرك الاختبار وظائف المعاينة التالية:

اختبار وظائف المحرك

هذه الوظائف متاحة فقط للاستخدام مع محرك الاختبار

لقطة شاشة

Screenshot(fileNameOfScreenshot)

تلتقط هذه الوظيفة لقطة شاشة للتطبيق في الوقت الحالي. يتم حفظ ملف لقطة الشاشة في مجلد إخراج الاختبار والاسم المقدم.

إشعار

يتم دعم ملفات jpeg وpng فقط.

مثال على لقطة الشاشة

Screenshot("buttonClicked.png")

انتظر

Wait(Control, Property, Value)

تنتظر هذه الدالة حتى تساوي خاصية عنصر التحكم القيمة المحددة.

انتظر مثالا

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

وظائف المعاينة

يمكن تضمين الوظائف التالية اختياريا في الاختبارات عند مساحة Power Fx اسم المعاينة عن طريق الإضافة Preview إلى allowPowerFxNamespaces القائمة في خاصية extensionModules الخاصة ب testSettings.

إشعار

  • وظائف المعاينة عرضة للتغيير. عندما تصبح هذه الوظائف جاهزة للاستخدام على نطاق أوسع ، يتم اعتبارها تنتقل داخل TestEngine مساحة الاسم.
  • يمكنك استخدام الدوال المعرفة من قبل المستخدم لالتفاف Preview الوظائف لتسهيل الترحيل إلى إصدارات غير معاينة من الدالة.
  • يمكنك جعل النموذج يرجع فقط كائن JSON يمكنك تحليله باستخدام الوظيفة ParseJSON .

Preview.AIExecutePrompt

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

اتصل بمطالبة AI Builder مخصصة واحصل على نتائج نصية للتنفيذ.

إشعار

راجع Dataverse قسم تكامل الذكاء الاصطناعي للحصول على معلومات حول توفر هذه الوظيفة وتكوينها.

راجع باستخدام Preview.AIExecutePrompt لمزيد من التفاصيل والأوصاف حول استخدام هذه الوظيفة.

مثال Preview.AIExecutePrompt

يستدعي المثال التالي موجه الذكاء الاصطناعي المسمى Country Capital بقيمة معلمات البلد ويتوقع أن يرجع تنفيذ النموذج كلمة واحدة باريس

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

Preview.ConsentDialog

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

انتظر لتأكيد مربع حوار الموافقة لتطبيق لوحة أو صفحة مخصصة للتطبيق المستند إلى النموذج

مثال على الحوار Preview.ConsentDialog

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

معاينة.إيقاف مؤقت

Preview.Pause()

إيقاف الاختبار مؤقتا وعرض مفتش الكاتب الوظيفي في حالة إجراء اختبار تفاعلي

إشعار

المشكلة المعروفة: لا تفتح وظيفة Preview.Pause المفتش بشكل صحيح لتشغيل اختبار pac
الوصف: فشل الدالة Preview.Pause في فتح المفتش أثناء أ. pac test run
الحل البديل: يمكن استخدام الإصدار مفتوح المصدر من محرك الاختبار لوظيفة الإيقاف المؤقت.

مثال على المعاينة.الإيقاف المؤقت

Preview.Pause()

Preview.SelectControl

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

حدد عنصر تحكم باستخدام نموذج كائن المستند

مثال على Preview.SelectControl

حدد المباراة الأولى Button3

Preview.SelectControl(Button3,1);

معاينة.PlaywrightAction

Preview.PlaywrightAction(Text, Text)

تنفيذ إجراء على الصفحة الحالية باستخدام كاتب 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 محدد مواقع بقيمة

أمثلة على Preview.PlaywrightActionValue

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

معاينة.PlaywrightScript

Preview.PlaywrightScript(Text)

تنفيذ البرنامج النصي C# على الصفحة الحالية

إشعار

يتم تنفيذ هذه الوظيفة فقط لبناء تصحيح الأخطاء من الإصدار مفتوح المصدر من محرك الاختبار وليس في تشغيل اختبار 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({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 منطقيا، فإنه يرجع السجلات باستخدام دالة الجدول

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 ومحاكاة الموصل مع محرك الاختبار (معاينة)