مشاركة عبر


دليل المصادقة لمحرك Power Apps الاختبار (معاينة)

إشعار

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

يوفر هذا الدليل إرشادات خطوة بخطوة لإعداد المصادقة في Test Engine. للحصول على نظرة عامة سريعة على خيارات المصادقة، راجع المصادقة في محرك الاختبار.

بدء استخدام المصادقة

يدعم Test Engine طريقتين للمصادقة للاختبارات المستندة إلى الويب للتطبيقات المستندة إلى اللوحة والتطبيقات المستندة إلى النموذج:

  • StorageState - إعداد افتراضي سهل للتطوير الفردي (لاختبارات اللوحة المستندة إلى الويب والتطبيقات المستندة إلى النموذج)
  • Dataverse - النهج المستند إلى الفريق لمشاركة مستخدمي الاختبار و CI/CD (لاختبارات اللوحة المستندة إلى الويب والتطبيقات المستندة إلى النموذج)

تتم معالجة المصادقة بشكل مختلف لموفر PowerFx والاختبارات المباشرة Dataverse . تحصل هذه الاختبارات على رموز الوصول المميزة مباشرة من جلسة Azure CLI التي قمت بتسجيل الدخول باستخدام az الأوامر للحصول على الرموز المميزة للوصول إلى الموارد. تأكد من تسجيل الدخول قبل az login --allow-no-subscriptions تشغيل هذه الأنواع من الاختبارات.

الإعداد السريع: مصادقة StorageState

مصادقة StorageState هي أبسط طريقة للبدء. يستخدم واجهة برمجة تطبيقات حماية البيانات ل Windows لتخزين الرموز المميزة للمصادقة بشكل آمن على جهازك المحلي.

الخطوة 1: قم بتشغيل الاختبار باستخدام المصادقة الافتراضية

قم بتشغيل أمر PowerShell التالي لاستبدال المعلمات التي تبدأ ب your.

pac test run `
   --provider canvas `
   --test-plan-file your-test-plan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

إشعار

لا يتم استخدام معلمة تشغيل--user-auth اختبار pac في هذا المثال لأن الموفر الافتراضي هو StorageState ذلك. يمكنك تضمينه إذا كنت ترغب في ذلك.

الخطوة 2: إكمال تسجيل الدخول التفاعلي

أدخل بيانات اعتماد حساب المستخدم التجريبي الخاص بك

  1. تفتح نافذة المتصفح تلقائيا
  2. تسجيل الدخول باستخدام حساب مستخدم الاختبار الخاص بك
  3. إذا طلب منك ذلك، وافق على المصادقة متعددة العوامل ومطالبات الموافقة
  4. حدد "البقاء مسجلا للدخول" عندما يطلب منك ذلك

تم حفظ المصادقة الخاصة بك الآن.

  • يخزن محرك الاختبار المصادقة الخاصة بك بشكل آمن
  • تستخدم عمليات تشغيل الاختبار المستقبلية الحالة المحفوظة دون الحاجة إلى تسجيل الدخول
  • يتم تحديث الرموز المميزة تلقائيا عند الحاجة

إعداد الفريق: Dataverse المصادقة

Dataverse المصادقة مثالية للفرق ومسارات CI/CD. يقوم بتخزين حالات Dataverse المستخدم المصادق عليها بشكل آمن ، مشفرة بشهادات X.509.

الخطوة 1: تنزيل حل Test Engine واستيراده

  1. قم بتنزيل Power Platform الحل من https://aka.ms/TestEngineAuth.
  2. قم بتسجيل الدخول إلى Power Apps.
  3. حدد بيئتك المستهدفة.
  4. انتقل إلى الحلول وحدد استيراد الحل.
  5. اتبع المعالج لتحميل حل Test Engine وتثبيته.

الخطوة 2: إنشاء شهادة للتشفير

للحصول على شهادة موقعة ذاتيا (التطوير فقط)، قم بتشغيل هذا البرنامج النصي PowerShell التالي:

$Params = @{
  DnsName = @("testengine", "testengine")
  CertStoreLocation = "Cert:\CurrentUser\My"
  NotAfter = (Get-Date).AddMonths(6)
  KeyAlgorithm = "RSA"
  KeyLength = 2048
}
New-SelfSignedCertificate @Params

للإنتاج، استخدم شهادة من المرجع المصدق للمؤسسة.

الخطوة 3: إعداد مستخدم الاختبار

أكمل الخطوات التالية لإعداد مستخدم الاختبار:

  1. افتح المحطة الطرفية وقم بتسجيل الخروج من أي جلسات حالية:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. تسجيل الدخول باستخدام Azure CLI (مطلوب للمصادقة Dataverse ):

    az login --allow-no-subscriptions
    
  3. قم بتعيين اسم الشهادة كمتغير بيئة PowerShell باسم DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. قم بتشغيل الاختبار باستخدام Dataverse المصادقة:

    pac test run `
       --provider canvas `
       --user-auth Dataverse `
       --auth Certstore `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id
    

    إشعار

    على عكس StorageState ، في هذه الحالة يجب عليك استخدام المعلمة --user-auth بقيمة Dataverse.

  5. أكمل تسجيل الدخول التفاعلي عندما يطلب منك ذلك.

إعداد كيانات الخدمة (ل CI/CD)

للاختبار التلقائي في مسارات CI/CD، يمكنك استخدام كيانات الخدمة بدلا من حسابات المستخدمين التفاعلية.

الخطوة 1: إنشاء تسجيل تطبيق في Microsoft Entra المعرف

أكمل الخطوات التالية لإنشاء تسجيل تطبيق في Microsoft Entra المعرف.

  1. تسجيل الدخول إلى مركز الإدارة Microsoft Entra
  2. انتقل إلى تسجيلات تطبيقات التطبيقات>
  3. حدد تسجيل جديد
  4. أدخل اسما (على سبيل المثال "اختبار أتمتة المحرك")
  5. احتفظ بالخيارات الافتراضية وحدد تسجيل
  6. بعد الإنشاء، لاحظ معرف التطبيق (العميل) ومعرف الدليل (المستأجر)

الخطوة 2: تكوين أذونات واجهة برمجة التطبيقات ل Dataverse

أكمل الخطوات التالية لتكوين أذونات واجهة برمجة التطبيقات لها Dataverse.

  1. في تسجيل التطبيق الخاص بك، انتقل إلى أذونات واجهة برمجة التطبيقات
  2. حدد إضافة إذن
  3. اختيار واجهات برمجة التطبيقات التي تستخدمها مؤسستي
  4. ابحث عن وحدد Dataverse
  5. حدد الأذونات المفوضة
  6. تحقق من user_impersonation
  7. حدد إضافة أذونات
  8. حدد منح موافقة المشرف

الخطوة 3: إنشاء سر عميل

أكمل الخطوات التالية لإنشاء سر العميل.

  1. انتقل إلى الشهادات والأسرار
  2. حدد سر عميل جديد
  3. أضف وصفا واختر انتهاء الصلاحية
  4. انسخ القيمة السرية على الفور (لن تتمكن من رؤيتها مرة أخرى)

الخطوة 4: إضافة مستخدم التطبيق إلى Dataverse

أكمل الخطوات التالية لإضافة مستخدم التطبيق إليه Dataverse.

  1. فتح مركز Power Platform الإدارة
  2. تحديد بيئتك
  3. انتقل إلى الإعدادات>المستخدمون + الأذونات مستخدمي>التطبيق
  4. تحديد + مستخدم تطبيق جديد
  5. ابحث عن التطبيق وحدده
  6. تعيين وحدة العمل المناسبة وأدوار الأمان (بما في ذلك دور "مستخدم محرك الاختبار")
  7. ‏‏حفظ التغييرات

الخطوة 5: تكوين مسار CI/CD الخاص بك

أضف هذه المتغيرات إلى البنية الأساسية لبرنامج ربط العمليات التجارية الخاص بك:

AZURE_CLIENT_ID: (your application ID)
AZURE_CLIENT_SECRET: (your client secret)
AZURE_TENANT_ID: (your tenant ID)
DataProtectionCertificateValue: (base64 encoded certificate)
ENVIRONMENT_URL: (your Dataverse environment URL)

بالنسبة إلى Azure DevOps ذلك، قم بتخزينها بأمان في مجموعات المتغيرات مع الأذونات المناسبة.

PowerFx والمصادقة الاختبارية المباشرة Dataverse

بالنسبة لاختبارات موفر PowerFx والاختبارات المباشرة Dataverse ، تعمل المصادقة بشكل مختلف عن الاختبارات المستندة إلى الويب.

كيف يعمل PowerFx/Dataverse المصادقة

  1. يستخدم محرك الاختبار Azure CLI للحصول على رمز وصول خاص بالموارد
  2. يتم استخدام الرمز المميز للمصادقة مباشرة مع Dataverse واجهات برمجة التطبيقات
  3. لا يوجد متصفح أو مصادقة مستندة إلى الويب

إعداد PowerFx/Dataverse المصادقة

  1. تأكد من تثبيت Azure CLI وتحديثه:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. تسجيل الدخول باستخدام Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. قم بإجراء الاختبار الخاص بك مع موفر PowerFx:

    pac test run `
       --provider powerfx `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id `
       --domain "https://your-environment.crm.dynamics.com"
    

استكشاف أخطاء المصادقة وإصلاحها

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

المشكلات الشائعة مع StorageState

  • المشكلة: تظهر مطالبة المصادقة في كل تشغيل.

    • الحل: تحقق مما إذا كنت قد حددت البقاء مسجلا للدخول أثناء تسجيل الدخول.
  • المشكلة: Cannot access secure storage خطأ.

    • الحل: تأكد من أن لديك حق الوصول المناسب إلى مجلد ملف تعريف المستخدم الخاص بك.

المشكلات الشائعة في Dataverse المصادقة

  • المشكلة: Certificate not found خطأ.

    • الحل: تحقق من أن اسم الشهادة يتطابق تماما مع ما هو موجود في مخزن الشهادات الخاص بك.
  • المشكلة: Unable to connect to Dataverse خطأ.

    • الحل: تحقق من تسجيل الدخول إلى Azure CLI باستخدام az login --allow-no-subscriptions.
  • المشكلة: Access denied خطأ في كيان الخدمة.

    • الحل: تحقق من أن التطبيق لديه الأذونات الصحيحة وأدوار Dataverse الأمان المناسبة.

المشكلات الشائعة في PowerFx/Dataverse المصادقة

  • المشكلة: Unable to obtain access token خطأ

    • الحل: التحقق من تسجيل الدخول باستخدام Azure CLI باستخدام az account get-access-token
  • المشكلة: Access denied إلى Dataverse

    • الحل: تأكد من أن المستخدم الذي قام بتسجيل الدخول لديه أذونات مناسبة في Dataverse البيئة
  • المشكلة: انتهاء صلاحية الرمز المميز أثناء عمليات التشغيل التجريبية الطويلة

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

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