وظائف Power Fx لاختبار Power Apps (مهمل)

ملحوظة

تم إهمال محرك الاختبار وسيتم إزالته في إصدار مستقبلي. استخدم Power Platform Playwright samples لقدرات أتمتة الاختبار في Power Platform وخدمات Dynamics 365.

يستخدم محرك الاختبار وظائف 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})

استخدم مطالبة Custom 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
Workaround: يمكن استخدام الإصدار مصدر مفتوح من Test Engine لوظيفة الإيقاف المؤقت.

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

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");

معاينة.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

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 ومحاكاة الموصل باستخدام محرك الاختبار (مهمل)