Menguji ekstensi Dataverse dengan Test Engine (tidak digunakan lagi)

Note

Mesin Uji tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Gunakan sampel Power Platform Playwright untuk kemampuan otomatisasi pengujian di Power Platform dan layanan Dynamics 365.

Artikel ini menjelaskan cara membuat pengujian integrasi dengan Dataverse. Fungsionalitas ini menerapkan kemampuan Power Fx untuk terhubung dengan tabel Dataverse.

Menghubungkan ke Dataverse

Untuk mengaktifkan integrasi Dataverse, tambahkan parameter enableDataverseFunctions ke dalam testSettings dalam extensionModules :

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

Saat mengaktifkan integrasi Dataverse, Anda diharuskan membuka Azure CLI dengan pengguna atau perwakilan layanan yang memiliki hak atas lingkungan Dataverse. Anda dapat menggunakan perintah: az login Untuk informasi lebih lanjut, lihat Masuk dengan Azure CLI.

Dataverse URL API yang digunakan untuk integrasi diperoleh baik dari nama domain host parameter pac test run--domain atau dengan menentukan variabel lingkungan PowerShell bernama DATAVERSE_URL.

Mengaktifkan Pratinjau

Saat ini, kemampuan pengujian ekstensi Dataverse mengharuskan penggunaan Fungsi Pratinjau. Untuk mengaktifkannya, tambahkan Preview ke daftar di allowPowerFxNamespacesextensionModules.

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

Mengatur ulang status saat ini

Tentukan pengelola acara onTestCaseStart di yaml pengujian yang Anda tulis untuk melakukan tindakan umum sebelum setiap kasus pengujian. Contohnya:

testSuite:
  testSuiteName: Dataverse tests
  testSuiteDescription: Validate Power Fx can be used to run Dataverse integration tests
  persona: User1
  appLogicalName: N/A
  onTestCaseStart: |
    = ForAll(Accounts, Remove(Accounts, ThisRecord))

Dalam contoh ini, ForAll digunakan untuk mengiterasi sebuah tabel dan melakukan tindakan pada setiap catatan. Fungsi ini Remove kemudian digunakan untuk menghapus setiap catatan dari tabel untuk memastikan tabel kosong sebelum setiap pengujian dijalankan.

Fungsi yang menarik

Fungsi-fungsi ini berguna saat bekerja dengan Dataverse:

  • Kumpulkan: Menambahkan rekaman ke tabel.
  • CountRows: Mengembalikan jumlah rekaman dalam tabel.
  • Pertama: Mengembalikan rekaman pertama dalam tabel.
  • ForAll: Mengulangi tabel dan melakukan tindakan pada setiap catatan.
  • Patch: Perbarui rekaman yang ada.
  • Hapus: Menghapus rekaman tertentu dari tabel.

Considerations

Pertimbangkan pertimbangan ini saat Anda menulis langkah-langkah pengujian:

  • Defaults tidak didukung. Akibatnya, contoh-contoh Power Fx seperti Patch(Accounts, Defaults(Accounts), {name:"test"}) tidak didukung.
  • Anda dapat menggunakan Collect sebagai alternatif untuk Patch dengan fungsi Defaults

Menjalankan pengujian Dataverse

Anda dapat menggunakan penyedia Power Fx (powerfx) untuk menjalankan pengujian yang berinteraksi dengan Dataverse tanpa memerlukan antarmuka aplikasi berbasis kanvas atau model. Ini berguna untuk menguji logika bisnis, plugin, alur, dan layanan backend lainnya.

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

Integrasi AI

Menggunakan sumber terbuka Power Apps Test Engine yang dikompilasi dalam mode Debug bersama dengan pengaturan pengujian yang sesuai akan mengaktifkan fungsi Preview.AIExecutePrompt dalam pengujian Anda.

Tambahkan hal berikut ke pengaturan pengujian Anda untuk mengaktifkan integrasi AI:

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true
      enableAIFunctions: true

Contoh penggunaan fungsi AI:

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