Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Ескертпе
Алдын ала қарау мүмкіндіктері өндірісті пайдалану үшін арналмаған және функционалдық шектеулі болуы мүмкін. Бұл мүмкіндіктер ресми жарияланудан бұрын қолжетімді, сондықтан тұтынушылар ерте қатынаса алады және кері байланыс бере алады.
Шолу
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");
Жетілдірілген: теңшелетін драматург сценарийлері
Жоғары мамандандырылған сценарийлер үшін теңшелетін драматург сценарийлерін жасауға болады:
- Пайдаланушы драматург логикасы бар
.csxфайл жасаңыз - Драматург жиындарына сілтеме қажет
- Қажетті сынып құрылымын енгізіңіз
- Сценарийге сынақ қадамдарыңыздан қоңырау шалыңыз
// 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 функцияларды пайдаланыңыз
- Кірістірілген аутентификация механизмдерінің артықшылығын пайдаланыңыз
- Қолданба деңгейіндегі абстракциялар жеткіліксіз сценарийлер үшін тікелей драматург функцияларын резервтеңіз.
- Оқуға және техникалық қызмет көрсетуге оңтайландыру үшін жасалған сынақтарды қараңыз