Testowanie rozszerzeń Dataverse przy użyciu silnika testowego (przestarzałe)

Note

Aparat testowy jest przestarzały i zostanie usunięty w przyszłej wersji. Użyj przykładów Power Platform Playwright do funkcji automatyzacji testów w platformie Power Platform i usługach Dynamics 365.

W tym artykule wyjaśniono, jak tworzyć testy integracyjne za pomocą Dataverse. Ta funkcja zastosowuje możliwości Power Fx do nawiązywania połączeń z tabelami Dataverse.

Nawiązywanie połączenia z usługą Dataverse

Aby włączyć integrację Dataverse, dodaj parametr enableDataverseFunctions do testSettingsextensionModules :

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

Po włączeniu integracji z Dataverse należy otworzyć Azure CLI z użytkownikiem lub jednostką usługi, która ma prawa do środowiska Dataverse. Możesz użyć polecenia: az login Więcej informacji: Sign in with Azure CLI (

Adres URL interfejsu API Dataverse używany do integracji jest uzyskiwany albo z nazwy domeny hosta parametru pac test run--domain, albo przez zdefiniowanie zmiennej środowiskowej PowerShell o nazwie .

Włącz podgląd

Obecnie wszystkie możliwości testowania rozszerzeń w Dataverse wymagają użycia funkcji trybu zapoznawczego. Aby je włączyć, dodaj Preview do listy allowPowerFxNamespaces w extensionModules.

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

Resetowanie bieżącego stanu

Zdefiniuj procedurę onTestCaseStart obsługi zdarzeń w utworzonym testowym kodzie yaml, aby wykonać typowe akcje przed każdym przypadkiem testowym. Przykład:

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

W tym przykładzie element ForAll służy do iteracji po tabeli i wykonywania akcji na każdym rekordzie. Funkcja Remove jest następnie używana do usuwania każdego rekordu z tabeli, aby zapewnić pustą tabelę przed wykonaniem każdego testu.

Interesujące funkcje

Te funkcje są przydatne podczas pracy z Dataverse:

  • Collect: Dodaje rekordy do tabeli.
  • CountRows: Zwraca liczbę rekordów w tabeli.
  • Pierwszy: Zwraca pierwszy rekord w tabeli.
  • ForAll: Iteruje po tabeli i wykonuje akcję na każdym rekordzie.
  • Poprawka: Aktualizuj istniejący rekord.
  • Usuń: Usuwa określony rekord z tabeli.

Considerations

Weź pod uwagę te zagadnienia podczas pisania kroków testu:

  • Wartości domyślne nie są obsługiwane. W związku z tym, przykłady Power Fx, takie jak Patch(Accounts, Defaults(Accounts), {name:"test"}), nie są obsługiwane.
  • Możesz użyć Collect jako alternatywy dla Patch z funkcją Defaults

Uruchamianie Dataverse testów

Za pomocą dostawcy Power Fx (powerfx) można uruchamiać testy, które wchodzą w interakcję z Dataverse, bez konieczności korzystania z kanwy lub interfejsu aplikacji modelowanej. Jest to przydatne do testowania logiki biznesowej, wtyczek, przepływów i innych usług zaplecza.

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"

Integracja sztucznej inteligencji

Użycie open source'owego silnika testowego Power Apps, skompilowanego w trybie Debug, wraz z odpowiednimi ustawieniami testów umożliwi włączenie funkcji Preview.AIExecutePrompt w Twoich testach.

Dodaj następujące elementy do ustawień testu, aby włączyć integrację ze sztuczną inteligencją:

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

Przykładowe zastosowanie funkcji AI:

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