Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Нотатка
Test Engine застарілий і буде видалений у майбутньому випуску. Використовуйте Power Platform Playwright samples для можливостей автоматизації тестування в Power Platform та Dynamics 365 сервісах.
У цій статті пояснюється, як створювати інтеграційні тести з Dataverse. Цей функціонал застосовує Power Fx можливість з’єднання з Dataverse таблицями.
Підключення до Dataverse
Щоб увімкнути Dataverse інтеграцію, додайте enableDataverseFunctions параметр у вашому розширенні testSettingsModules... :
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
Коли ви активуєте інтеграцію з Dataverse, потрібно відкрити Azure CLI з користувачем або керівником сервісу, який має права на середовище Dataverse. Ви можете скористатися командою: az login Додаткова інформація: Увійти за допомогою Azure CLI.
URL-адреса Dataverse API, що використовується для інтеграції, отримується або з доменного імені хоста параметра запуску тесту--domain pac, або шляхом визначення змінної середовища PowerShell з DATAVERSE_URL іменем.
Увімкнення функції попереднього перегляду
Наразі всі Dataverse можливості тестування розширень вимагають використання функцій попереднього перегляду. Щоб увімкнути їх, додайте Preview до списку в allowPowerFxNamespacesextensionModules.
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"
Інтеграція зі штучним інтелектом
Використання open source Power Apps Test Engine скомпільованого в режимі Debug разом із відповідними налаштуваннями тестування увімкне функцію Preview.AIExecutePrompt у ваших тестах.
Додайте до налаштувань тестування, щоб увімкнути інтеграцію зі штучним інтелектом:
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
enableAIFunctions: true
Приклад використання функції AI:
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)