Бөлісу құралы:


Сынақ механизмі мен драматург интеграциясы (алдын ала қарау)

Ескертпе

Алдын ала қарау мүмкіндіктері өндірісті пайдалану үшін арналмаған және функционалдық шектеулі болуы мүмкін. Бұл мүмкіндіктер ресми жарияланудан бұрын қолжетімді, сондықтан тұтынушылар ерте қатынаса алады және кері байланыс бере алады.

Шолу

Power Apps Сынақ механизмі браузерді автоматтандырудың негізгі технологиясы ретінде Playwright қолданады. Бұл біріктіру Power Platform қолданбалар үшін сынақ жасауды жеңілдету үшін абстракцияның бірнеше қабаттарын қоса отырып, Test Engine қуатты, сенімді және кросс-шолғышты тестілеу мүмкіндіктерін қамтамасыз етеді.

Сынақ механизмі драматургті қалай жақсартады

Playwright браузерді автоматтандырудың тамаша мүмкіндіктерін ұсынса да, Test Engine бұл мүмкіндіктерді арнайы Power Platform үшін кеңейтеді:

Сынақ қозғалтқышын жақсарту Сипаттама
Қолданба деңгейіндегі абстракциялар Test Engine DOM элементтерінен гөрі қолданба деңгейіндегі нысандармен жұмыс істейді, бұл сынақтарды UI өзгерістеріне төзімді етеді
Power Fx Интеграция Сынақ жүйесі Power Fx қолдау қосады, бұл сынақ авторлығына төмен кодты тәсілді қосады
Кірістірілген аутентификация Алдын ала құрастырылған аутентификация механизмдері Microsoft Entra және шартты қол жеткізу сценарийлері
Dataverse Интеграция Тікелей интеграция Dataverse жан-жақты тестілеуге мүмкіндік береді
Мамандандырылған провайдерлер Canvas қолданбалары және үлгіге негізделген қолданбалар үшін оңтайландырылған провайдерлер

Техникалық жүзеге асыру

Келесі бөлімдер сынақ механизмінің Playwright браузерінің автоматтандыру негізіне қалай құрылатыны және оны Power Platformарнайы абстракциялармен біріктіретіні сипатталады, бұл сенімді және техникалық қызмет көрсетуге болатын сынақ автоматтандыруына мүмкіндік береді.

Браузерді автоматтандыру негізі

Сынақ механизмі шолғышты дәйекті автоматтандыру үшін драматургтің негізгі мүмкіндіктерін пайдаланады:

  • Chrome, үшін Firefoxбраузераралық қолдау және Microsoft Edge
  • Элементтердің дайын болуын автоматты түрде күтетін сенімді күту механизмдері
  • API жауаптарын модельдеу үшін желілік сұрауды тоқтату
  • Сынақ қателерін диагностикалау үшін бақылау және жөндеу құралдары

Test Engine архитектуралық интеграциясы

  • Провайдер деңгейі: Test Engine жүйесіндегі провайдер қабаты шолғыш әрекетін басқару үшін Playwright API интерфейстерімен тікелей байланысады.
  • Нысан үлгісі: өңделмеген DOM элементтерімен жұмыс істеудің орнына, сынақ механизмі қолданбаға арнайы нысан үлгілерімен салыстырады.
  • Power Fx Қабат: Power Fx де жазылған сынақ қадамдары провайдер қабаты арқылы түсіндіріледі және орындалады.

Негізгі техникалық ерекшеліктері

Келесі бөлімдер сынақ механизмі Playwright бағдарламасына қосатын маңызды техникалық мүмкіндіктерді, соның ішінде қолданбаға арналған селекторларды, шолғыш мәтінмәнін басқаруды және кеңейтілген сценарийлер үшін Playwright функцияларына тікелей қатынасты бөлектейді.

Қолданбаға арналған селекторлар

Сынақ жүйесі CSS немесе XPath селекторлардың орнына қолданбаға арналған селекторларды пайдаланады:

# Test Engine (using app-level selectors)
- testSteps: |
    Select(Button1)

# Equivalent in raw Playwright (using DOM selectors)
    Select(Button1)
# page.locator('div[data-control-name="Button1"]').click();

Браузер контекстін басқару

Test Engine әртүрлі аутентификация сценарийлерін қолдау үшін шолғыш контексттерін басқарады:

# Test Engine handles browser context automatically
pac test run `
   --provider canvas `
   --test-plan-file testplan.te.yaml `
   --tenant $tenantId `
   --environment-id $environmentId

Тікелей драматург функциялары

Сынақ механизмі көптеген драматургтердің өзара әрекеттесулерін қысқартқанымен, драматург мүмкіндіктеріне тікелей қол жеткізу құнды болуы мүмкін сценарийлер бар. Сынақ механизмі Power Fx сынақ қадамдары арқылы драматургпен тікелей әрекеттесу мүмкіндігін беретін бірнеше алдын ала қарау функцияларын қамтамасыз етеді.

Test Engine жүйесінде драматург функцияларын пайдалану

Сынақ механизмі драматургтің элементтерді таңдау мүмкіндіктерін қолдануға мүмкіндік беретін келесі алдын ала қарау функцияларын қамтиды:

Function Сипаттама Мысал
Preview.PlaywrightAction CSS немесе DOM селекторлары арқылы элементтерде әрекетті орындаңыз Preview.PlaywrightAction("//button", "click")
Қараңыз Жалпы драматург әрекеті
Preview.PlaywrightActionValue Мән параметрін қажет ететін әрекетті орындаңыз Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello")
Қараңыз Жалпы драматург әрекетінің мәндік операциялары
Preview.PlaywrightScript Драматургпен интерфейс жасайтын теңшелетін C# сценарийін орындаңыз Preview.PlaywrightScript("sample.csx")
Қараңыз Қосымша: Драматургтың реттелетін сценарийлері
Алдын ала қарау.Үзіліс Сынақты орындауды кідірту және драматург инспекторын көрсету Preview.Pause()

Ескертпе

Осы алдын ала қарау функцияларын пайдалану үшін сынақ параметрлері бөліміндегі рұқсат етілген тізімге алдын ала қарау функцияларын қосу керек.

Жалпы драматург әрекет операциялары

Келесі әрекеттерді Preview.PlaywrightAction арқылы орындауға болады:

Әрекет Сипаттама Мысал
click Басу оқиғасы арқылы элементті таңдау Preview.PlaywrightAction("//button[@id='submit']", "click")
exists Элементтің бар-жоғын тексеріңіз Preview.PlaywrightAction("//div[@class='error-message']", "exists")
wait Элемент қолжетімді болғанша күтіңіз Preview.PlaywrightAction("//table[@data-loading='false']", "wait")

Жалпы драматург әрекетінің мәні операциялары

Келесі әрекеттерді Preview.PlaywrightActionValue арқылы орындауға болады:

Әрекет Сипаттама Мысал
fill Пішін өрісін мәтінмен толтырыңыз Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name")
select Таңдау тізімінен опцияны таңдаңыз Preview.PlaywrightActionValue("//select", "select", "Option2")
setAttribute Элементке төлсипат орнату Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'")

Тікелей драматург функцияларын қашан пайдалану керек

Қолданба деңгейіндегі абстракцияларға артықшылық берілгенімен, тікелей драматург функциялары мына сценарийлерде пайдалы:

  • Күрделі UI өзара әрекеттесуі стандартты Test Engine функцияларымен қамтылмаған
  • Арнайы өңдеуді қажет ететін қолданбалардағы Power Platform үшінші тарап құрамдастары
  • Күрделі сынақ сценарийлерін жөндеу көбірек бақылау қажет
  • Элемент күйлерінің немесе сипаттарының кеңейтілген тексеру

Мысалы: Біріктірілген тәсіл

Бұл мысал қолданба деңгейіндегі абстракцияларды тікелей драматург әрекеттерімен біріктіруді көрсетеді:

testSteps: |
  # Use app-level abstraction for Power Apps control
  Select(SubmitButton);
  
  # Use direct Playwright action for a third-party component
  Preview.PlaywrightAction("//div[@class='custom-calendar']//button[@data-day='15']", "click");
  
  # Wait for a specific condition using Playwright
  Preview.PlaywrightAction("//div[@data-status='complete']", "wait");
  
  # Resume using app-level abstractions
  Assert(Label1.Text = "Submission Complete");

Жетілдірілген: теңшелетін драматург сценарийлері

Жоғары мамандандырылған сценарийлер үшін теңшелетін драматург сценарийлерін жасауға болады:

  1. Пайдаланушы драматург логикасы бар .csx файл жасаңыз
  2. Драматург жиындарына сілтеме қажет
  3. Қажетті сынып құрылымын енгізіңіз
  4. Сценарийге сынақ қадамдарыңыздан қоңырау шалыңыз
// sample.csx
#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;

public class PlaywrightScript {
    public static void Run(IBrowserContext context, ILogger logger) {
        Execute(context, logger).Wait();
    }

    public static async Task Execute(IBrowserContext context, ILogger logger) {
        var page = context.Pages.First();
        // Custom Playwright logic here
    }
}

Ескертпе

Preview.PlaywrightScript шығарылған pac test run құралында емес, дереккөзден жасалған сынақ механизмінің жөндеу құрылымдары үшін ғана жүзеге асырылады.

Даму процесімен интеграция

Келесі бөлімдер интерактивті жөндеуден автоматтандырылған құбырды орындауға дейінгі жұмыс ағындарының ауқымын қолдайтын жергілікті әзірлеуде де, CI/CD орталарында да Test Engine және Playwright қалай пайдалануға болатынын сипаттайды.

Жергілікті даму

Жергілікті даму үшін Test Engine толық ортаны қамтамасыз етеді:

  • UI көрінуі бар жергілікті шолғышты орындау
  • Қадамдық сынақты орындау
  • Егжей-тегжейлі журналдар және диагностика

CI/CD интеграциясы

CI/CD орталарында Test Engine Playwright бассыз режимде жұмыс істей алады:

# Example Azure DevOps pipeline step
- task: PowerShell@2
  displayName: 'Run Test Engine Tests'
  inputs:
    script: |
      pac test run `
        --provider canvas `
        --test-plan-file "$(Build.SourcesDirectory)/tests/testplan.te.yaml" `
        --tenant "$(TenantId)" `
        --environment-id "$(EnvironmentId)"

Үздік тәжірибелер

Test Engine's Playwright интеграциясымен жұмыс істегенде:

  • DOM элементтеріне емес, қолданба деңгейіндегі нысандарға назар аударыңыз
  • Шикі JavaScript емес, күрделі логика үшін Power Fx функцияларды пайдаланыңыз
  • Кірістірілген аутентификация механизмдерінің артықшылығын пайдаланыңыз
  • Қолданба деңгейіндегі абстракциялар жеткіліксіз сценарийлер үшін тікелей драматург функцияларын резервтеңіз.
  • Оқуға және техникалық қызмет көрсетуге оңтайландыру үшін жасалған сынақтарды қараңыз