إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إشعار
الهدف من ميزات المعاينة ليس الاستخدام في الإنتاج وقد يكون لها دالات مقيدة. تتوفر هذه الميزات قبل إصدار رسمي وبذلك يستطيع العملاء الحصول على وصول مبكر وتقديم التعليقات.
يتم تعريف الاختبارات في YAML باتباع نفس الإرشادات التي يتبعها Power Fx. تعرف على المزيد حول التدقيق النحوي لصيغة Power Fx YAML.
اعرض مجلد PowerApps-TestEngine/samples للحصول على أمثلة مفصلة.
تعريفات مخطط YAML
| الخاصية | الوصف |
|---|---|
| testSuite | يحدد مجموعة اختبار واحدة، وحالات الاختبار في مجموعة الاختبار والتكوين الخاص ب مجموعة الاختبار |
| إعدادات الاختبار | تحديد إعدادات مجموعة الاختبار التي تتم إعادة استخدامها عبر حالات اختبار متعددة |
| متغيرات البيئة | تحديد المتغيرات التي يمكن أن تتغير أثناء نقل التطبيق عبر بيئات مختلفة |
testSuite
يستخدم لتعريف اختبار واحد.
| الخاصية | نوع | الوصف |
|---|---|---|
persona |
string | مطلوب. المستخدم الذي قام بتسجيل الدخول لإجراء الاختبار. يجب أن تتطابق مع شخصية مدرجة في قسم المستخدمين . |
testCases |
قوالب الاختبار | مطلوب. يحدد حالات الاختبار في مجموعة الاختبار. يتم تشغيل حالات الاختبار الموجودة في مجموعات الاختبار بشكل تسلسلي. تستمر حالة التطبيق عبر جميع حالات الاختبار في مجموعة. |
testSuiteName |
string | مطلوب. اسم مجموعة الاختبار. |
appLogicalName |
string | اختياري. الاسم المنطقي للتطبيق الذي سيتم تشغيله. يمكن الحصول عليه من الحل. بالنسبة لتطبيقات اللوحة، تحتاج إلى إضافته إلى حل للحصول عليه. راجع كيفية تحديد التطبيق الخاص بك في خطة الاختبار |
appId |
المعرف الفريد العمومي | اختياري. معرف التطبيق الذي سيتم تشغيله. مطلوب ويستخدم فقط عندما appLogicalName لا يكون موجودا. يجب استخدام معرف التطبيق فقط لتطبيقات اللوحة غير الموجودة في الحل. راجع كيفية تحديد التطبيق الخاص بك في خطة الاختبار |
networkRequestMocks |
NetworkRequestMocks | اختياري. تعريف نماذج طلب الشبكة المطلوبة للاختبار. |
onTestCaseComplete |
string | اختياري. يحدد الخطوات التي يجب تشغيلها لكل حالة اختبار في مجموعة بعد انتهاء تنفيذ الحالة. |
onTestCaseStart |
string | اختياري. يحدد الخطوات التي يجب تشغيلها لكل حالة اختبار في مجموعة قبل بدء تنفيذ الحالة. |
onTestSuiteComplete |
string | اختياري. يحدد الخطوات التي يجب تشغيلها بعد انتهاء تنفيذ المجموعة. |
testSuiteDescription |
string | اختياري. توضح المعلومات الإضافية ما تقوم به مجموعة الاختبار. |
كيفية تحديد التطبيق الخاص بك في خطة الاختبار
تحتاج إلى تعيين إما appLogicalName أو appId لتحديد التطبيق الخاص بك. يعتمد الذي تستخدمه على ما إذا كان تطبيقك محددا ضمن أحد الحلول.
التطبيقات المستندة إلى الحل (مستحسن)
عند تحديد تطبيقاتك ضمن الحلول، تظل اختباراتك قابلة للنقل عبر البيئات. قم بتعيين الخاصية appLogicalName للإشارة إلى أن التطبيق يستند إلى الحل.
لتحديد موقع الاسم المنطقي للتطبيق:
- افتح الحل الذي يحتوي على تطبيقك في Power Apps
- استخدم الاسم (وليس الاسم المعروض) في القائمة. تتضمن قيمة الاسم بادئة التخصيص لناشر الحل.
التطبيقات المستقلة
عندما لا يتم تعريف تطبيقك ضمن حل، تحتاج إلى استخدام الخاصية appId .
لتحديد موقع معرف التطبيق:
- تحديد موقع التطبيق في قائمة Power Apps
- افتح التفاصيل ولاحظ معرف التطبيق GUID
NetworkRequestMocks
| الخاصية | نوع | الوصف |
|---|---|---|
requestURL |
string | مطلوب. عنوان URL للطلب الذي يحصل على استجابة وهمية. يتم قبول أنماط Glob |
responseDataFile |
string | مطلوب. ملف نصي مع محتوى الاستجابة الوهمية. تتم قراءة كل النص في هذا الملف كاستجابة |
headers |
صفيف | اختياري. قائمة حقول العنوان في الطلب بتنسيق [fieldName: fieldValue] |
method |
string | اختياري. طريقة الطلب (GET وPOST وما إلى ذلك) |
requestBodyFile |
string | اختياري. ملف نصي مع نص الطلب. تتم قراءة كل النص الموجود في هذا الملف كنص الطلب الأساسي |
بالنسبة للخصائص الاختيارية، إذا لم يتم تحديد قيمة، يتم تطبيق التوجيه على الكل. على سبيل المثال، إذا كانت method فارغة، فإننا نرسل الاستجابة الوهمية أيا كان الأسلوب طالما أن جميع الخصائص الأخرى متطابقة.
بالنسبة لتطبيقات Sharepoint/Dataverse/Connector، requestURLmethod ويمكن أن تكون هي نفسها لجميع الطلبات.
x-ms-request-method
x-ms-request-url وفي العناوين قد تحتاج إلى تكوين في هذه الحالة لتحديد طلبات مختلفة.
قوالب الاختبار
| الخاصية | نوع | الوصف |
|---|---|---|
testCaseName |
string | مطلوب. اسم حالة الاختبار المستخدمة في الإبلاغ عن النجاح والفشل |
testSteps |
خطوات الاختبار | مطلوب. مجموعة من وظائف Power Fx تصف الخطوات اللازمة لتنفيذ حالة الاختبار. راجع مثال TestSteps |
testCaseDescription |
لا | اختياري. توضح المعلومات الإضافية ما تفعله حالة الاختبار |
خطوات الاختبار
-
TestStepsيمكن استخدام أي وظائف Power Fx لمحرك الاختبار موجودة أو وظائف اختبار محددة يحددها إطار العمل هذا. - يجب أن تبدأ القيمة برمز توجيه (
|) للسماح بتعبيرات YAML متعددة الأسطر متبوعة بعلامة يساوي (=) للإشارة إلى أنه تعبير Power Fx - يجب فصل الدالات بفواصل منقوطة (
;). - يمكن استخدام التعليقات ويجب أن تبدأ بأحرف مائلة عكسية مزدوجة (
//).
مثال TestSteps
testCases:
- testCaseName: Fill in a city name and do the search
testSteps: |
= Screenshot("connectorapp_loaded.png");
SetProperty(TextInput1.Text, "Atlanta");
Select(Button1);
Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
Screenshot("connectorapp_end.png");
إعدادات الاختبار
يستخدم لتحديد إعدادات الاختبارات في خطة الاختبار.
| الخاصية | نوع | الوصف |
|---|---|---|
browserConfigurations |
تكوين المستعرض[] | مطلوب. قائمة تكوينات المستعرض التي سيتم اختبارها. يجب تحديد مستعرض واحد على الأقل. |
extensionModules |
الوحدات الملحقة | اختياري. يحتوي على بيانات حول الملحقات لتمكينها. |
filePath |
string | اختياري. مسار الملف إلى ملف yaml منفصل مع جميع إعدادات الاختبار. إذا تم توفيره، فإنه سيتجاوز جميع إعدادات الاختبار في خطة الاختبار. |
headless |
boolean | اختياري. الافتراضي صحيح. إذا تم تعيينه إلى خطأ، يظهر المستعرض أثناء تنفيذ الاختبار. |
locale |
string | اختياري. بناء جملة اللغة/الثقافة التي تتم فيها كتابة حالات الاختبار أو خطوات الاختبار. إذا لم يتم تحديده، CultureInfo.CurrentCulture يتم استخدامه للإعدادات المحلية بشكل افتراضي لتحليل خطوات الاختبار. راجع اعتبارات المنطقة واللغة |
recordVideo |
boolean | اختياري. الافتراضي هو خطأ. إذا تم تعيينه إلى true، يتم التقاط تسجيل فيديو للاختبار. |
timeout |
العدد الصحيح | اختياري. قيمة المهلة بالمللي ثانية. الافتراضي هو 30000 مللي ثانية (30 ثانية). إذا استغرقت أي عملية وقتا أطول من حد المهلة، فإنها تنهي الاختبار في حالة فشل. |
powerFxTestTypes |
name
value زوج |
اختياري. قائمة باسم النوع وتعريفات نوع Power Fx. راجع مثال powerFxTestTypes |
testFunctions |
description
code زوج |
اختياري. قائمة بالوصف وتعريفات وظائف Power Fx. راجع مثال testFunctions |
الوحدات الملحقة
يحتوي على بيانات حول الملحقات لتمكينها.
| الخاصية | نوع | الوصف |
|---|---|---|
enable |
منطقي | ما إذا كانت وحدات الملحق ممكنة أم لا. |
allowPowerFxNamespaces |
قائمة | قائمة بمساحات أسماء PowerFx المراد تمكينها. |
parameters |
أزواج قيم المفاتيح | خصائص ذات قيم للتحكم في وحدات الملحق. في هذا الوقت، المعلمة المنطقية enableDataverseFunctions فقط صالحة لهذا. |
يوضح هذا المثال كيفية تمكين مساحة اسم PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
تعرف على المزيد حول وظائف المعاينة
اعتبارات المنطقة واللغة
يدعم Test Engine العديد من الإعدادات اللغوية والإقليمية مثل الفاصلات العشرية وفواصل القوائم. تتحكم الخاصية testSettings.locale في هذه السلوكيات. لمزيد من المعلومات، راجع الدعم العمومي في Microsoft Power Fx.
انظر إلى تكوينات العينة هذه على مستودع GitHubPowerApps-TestEngine:
- بالنسبة للمناطق التي تستخدم فواصل منقوطة كفواصل قوائم
- بالنسبة للمناطق التي تستخدم الفواصل كفواصل عشرية
مثال على powerFxTestTypes
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
يوضح هذا المثال كيفية تعريف أنواع Power Fx المخصصة لاستخدامها في حالات الاختبار الخاصة بك.
ControlName يتم تعريف النوع كسجل مع حقل واحدText، بينما Options يتم تعريف النوع كجدول سجلات، يحتوي كل منها على Name حقل من النوع Text وحقل Value من النوع Number. يمكن استخدام الأنواع المخصصة لإنشاء سيناريوهات اختبار أكثر تعقيدا ومحددة، ما يعزز مرونة تعريفات الاختبار وقوتها.
مثال على testFunctions
testFunctions:
- description: Wait until control is visible using Document Object Model (DOM) selector
code: |
WaitUntilVisible(control: Text): Void =
Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
- description: Get the options for a control using Power Fx control from Model Driven App (MDA)
code: |
GetOptions(control: ControlName): Options =
Preview.GetOptions(control);
توضح أمثلة دالة الاختبار هذه كيفية تعريف وظائف Power Fx المخصصة للاستخدام في حالات الاختبار الخاصة بك.
WaitUntilVisible تستخدم الدالة محدد DOM للانتظار حتى يكون عنصر تحكم محدد مرئيا، باستخدام إجراءات Playwright. تسترد الدالة GetOptions الخيارات لعنصر تحكم محدد من تطبيق يستند إلى نموذج (MDA)، باستخدام عنصر تحكم Power Fx. تعزز هذه الوظائف المخصصة مرونة وقوت تعريفات الاختبار الخاصة بك، ما يسمح بسيناريوهات اختبار أكثر تعقيدا ومحددة.
تكوين المستعرض
يتطلب كل testSettings واحدا BrowserConfigurationعلى الأقل.
| الخاصية | نوع | الوصف |
|---|---|---|
browser |
string | مطلوب. المتصفح الذي سيتم تشغيله عند الاختبار. يجب أن تتطابق مع المستعرضات التي يدعمها Playwright. |
device |
string | اختياري. الجهاز الذي يجب محاكاته عند تشغيل المتصفح. يجب أن تتطابق مع الأجهزة التي يدعمها Playwright |
screenHeight |
العدد الصحيح | اختياري. ارتفاع الشاشة لاستخدامها عند تشغيل المستعرض. إذا تم تحديده، screenWidth يجب أيضا تحديده. |
screenWidth |
العدد الصحيح | اختياري. عرض الشاشة المراد استخدامها عند تشغيل المستعرض. إذا تم تحديده، screenHeight يجب أيضا تحديده. |
متغيرات البيئة
يمكنك تخزين أنواع مختلفة من القيم كقيم بيئية، ولكن الحالة الأكثر شيوعا هي تخزين معلومات بيانات الاعتماد مع قائمة المستخدمين.
المُستخدمون
لضمان تخزين بيانات الاعتماد بطريقة آمنة، يشير تعريف الاختبار إلى المستخدمين الذين يستخدمون personaName. تخزين بيانات الاعتماد في ملفات خطة الاختبار غير مدعوم.
مثال:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
personaName يتم استخدام كجزء من تعريف الاختبار للإشارة إلى المستخدم الذي يجب تشغيل الاختبار عليه.
آليات تخزين بيانات الاعتماد المدعومة
لتخزين بيانات الاعتماد كمتغيرات بيئة، يمكنك تعيينها على النحو التالي:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
في YAML، يجب تعريف خاصيتين للإشارة إلى أن بيانات اعتماد هذا المستخدم مخزنة في متغيرات البيئة:
-
emailKey: متغير البيئة المستخدم لتخزين البريد الإلكتروني للمستخدم.
مثال YAML:
- personaName: "User1"
emailKey: "user1Email"
مثال PowerShell لتعيين بيانات اعتماد المستخدم استنادا إلى YAML:
$env:user1Email = "someone@example.com"
راجع أيضًا
نظرة عامة على محرك اختبار Power Apps (معاينة)
وظائف Power Apps Test Engine Power Fx (معاينة)