Разширения за Test Dataverse с Test Engine (остарял)

Бележка

Test Engine е остарял и ще бъде премахнат в бъдещо издание. Използвайте Power Platform Playwright samples за възможности за автоматизация на тестове в Power Platform и Dynamics 365 услуги.

Тази статия обяснява как да създавате интеграционни тестове с Dataverse. Тази функционалност прилага Power Fx възможността за свързване с Dataverse таблици.

Свързване с Dataverse

За да активирате Dataverse интеграцията, добавете параметъра enableDataverseFunctions във вашия testSettingsextensionModules :

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

Когато активирате интеграция с Dataverse, трябва да отворите Azure CLI с потребител или главен оператор на услуга, който има права върху средата на Dataverse. Можете да използвате командата: az login Повече информация: Влезте с Azure CLI.

Dataverse URL адресът на API, използван за интеграция, се получава или от името на домейна на хоста на параметъра за изпълнение--domain на pac test, или чрез дефиниране на променлива на средата на PowerShell с име DATAVERSE_URL.

Разрешаване на визуализация

В момента всички Dataverse възможности за тестване на разширения изискват използване на функции за визуализация. За да ги активирате, добавете Preview към списъка allowPowerFxNamespaces в extensionModules.

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

Нулиране на текущото състояние

Дефинирайте onTestCaseStart манипулатора на събития във вашия авторски тестов yaml за извършване на общи действия преди всеки тестов случай. Например:

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

В този пример се ForAll използва за итериране на таблица и извършване на действие върху всеки запис. След Remove това функцията се използва за изтриване на всеки запис от таблица, за да се гарантира празна таблица преди изпълнението на всеки тест.

Функции, представляващи интерес

Тези функции са полезни при работа с Dataverse:

  • Събиране: Добавя записи към таблица.
  • CountRows: Връща броя на записите в таблица.
  • Първи: Връща първия запис в таблица.
  • ForAll: Итерира таблица и извършва действие върху всеки запис.
  • Корекция: Актуализиране на съществуващ запис.
  • Премахване: Изтрива конкретен запис от таблица.

Съображения

Вземете предвид тези съображения, докато пишете стъпки на теста:

  • Настройките по подразбиране не се поддържат. В резултат на това Power Fx примери като Patch(Accounts, Defaults(Accounts), {name:"test"}) не се поддържат.
  • Можете да използвате Collect към алтернатива на Patch с Defaults функцията

Провеждане Dataverse на тестове

Можете да използвате доставчика Power Fx (powerfx), за да изпълнявате тестове, които взаимодействат с, Dataverse без да е необходим интерфейс на приложение, управлявано от платно или модел. Това е полезно за тестване на бизнес логика, плъгини, потоци и други бекенд услуги.

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"

Интеграция на AI

Използването на open source Power Apps Test Engine компилиран в режим Debug заедно с подходящите тестови настройки, ще активира функцията Preview.AIExecutePrompt във вашите тестове.

Добавете следното към настройките си за тестване, за да активирате интеграцията с AI:

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

Примерно използване на функцията AI:

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