إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ملحوظة
تم إهمال محرك الاختبار وسيتم إزالته في إصدار مستقبلي. استخدم Power Platform Playwright samples لقدرات أتمتة الاختبار في Power Platform وخدمات Dynamics 365.
يستخدم محرك الاختبار وظائف PowerFx الحالية التالية:
تتوفر هذه الوظائف للاستخدام في محرك الاختبار فقط:
يوفر محرك الاختبار وظائف المعاينة التالية:
- Preview.AIExecutePrompt
- Preview.ConsentDialog
- إيقاف مؤقت للمعاينة
- معاينة.PlaywrightAction
- Preview.PlaywrightActionValue
- معاينة.PlaywrightScript
- Preview.SelectControl
- Preview.SimulateConnector
- Preview.SimulateDataverse
دَوالُ مُحَرِّكِ الاِخْتِبَار
تَكُونُ هَذِهِ الدَّوَالُ مُتَاحَةً لِلِاسْتِخْدَامِ فَقَط مَعَ مُحَرِّكِ الاِخْتِبَار.
لقطه
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"
}
)
});