Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
В этой статье объясняется, как создавать интеграционные тесты с помощью 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 в 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: выполняет итерацию по таблице и выполняет действие над каждой записью.
- Патч: обновление существующей записи.
- Удалить: удаляет определенную запись из таблицы.
Рекомендации
При написании этапов теста учитывайте следующие соображения:
-
Значения по умолчанию не поддерживаются. В результате такие примеры, как 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 Test Engine , скомпилированного в Debug режиме, вместе с соответствующими настройками теста включит функцию Preview.AIExecutePrompt в ваших тестах.
Чтобы включить интеграцию ИИ, добавьте в настройки теста следующее:
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
enableAIFunctions: true
Пример использования функции ИИ:
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)