Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Модуль тестирования устарел и будет удален в будущем выпуске. Используйте примеры Power Platform Playwright для возможностей автоматизации тестирования в службах 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.
URL-адрес Dataverse API, используемый для интеграции, получается либо из имени домена хоста параметра pac-теста--domain , либо путем определения переменной среды PowerShell с именем DATAVERSE_URL.
Включение предварительного просмотра
В настоящее время все функции для тестирования расширений Dataverse должны использовать функции Preview. Чтобы включить их, добавьте 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:
- Collect: добавляет записи в таблицу.
- CountRows: возвращает количество записей в таблице.
- First: возвращает первую запись в таблице.
- ForAll: выполняет итерацию по таблице и выполняет действие над каждой записью.
- Патч: обновление существующей записи.
- Удалить: удаляет определенную запись из таблицы.
Considerations
При написании этапов теста учитывайте следующие соображения:
-
Значения по умолчанию не поддерживаются. В результате такие примеры, как 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"
Интеграция ИИ
Использование подсистемы тестирования открытый код Power Apps, скомпилированной в режиме Debug вместе с соответствующими параметрами теста, позволит включить функцию Preview.AIExecutePrompt в тестах.
Чтобы включить интеграцию ИИ, добавьте в настройки теста следующее:
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
enableAIFunctions: true
Пример использования функции ИИ:
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)