Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Белешка
Функције прегледа нису намењене за коришћење у производњи и могу да имају ограничене функционалности. Ове функције су доступне пре званичног објављивања како би клијенти могли раније да им приступе и пруже повратне информације.
Преглед
Power Apps Тест Енгине користи Плаywригхт као своју основну технологију аутоматизације претраживача. Ова интеграција пружа Тест Енгине-у моћне, поуздане и могућности тестирања унакрсног претраживача, додајући неколико слојева апстракције како би се поједноставило креирање тестова за Power Platform апликације.
Како Тест Енгине побољшава драмског писца
Док Плаywригхт нуди одличне могућности аутоматизације претраживача, Тест Енгине проширује ове могућности посебно за Power Platform:
| Тест Енгине Енханцемент | Опис |
|---|---|
| Апстракције на нивоу апликације | Тест Енгине ради са објектима на нивоу апликације, а не са ДОМ елементима, чинећи тестове отпорнијим на промене корисничког интерфејса |
| Power Fx Интеграцију | Тест Енгине додаје Power Fx подршку, омогућавајући приступ са ниским кодом за ауторство теста |
| Уграђена аутентификација | Унапред изграђени механизми за аутентификацију и Microsoft Entra сценарији условног приступа |
| Dataverse Интеграцију | Директна интеграција са Dataverse омогућава свеобухватно тестирање од краја до краја |
| Специјализовани провајдери | Оптимизовани провајдери за Цанвас апликације и апликације засноване на моделу |
Техничка имплементација
Следећи одељци описују како Тест Енгине гради на Плаиwригхтовој основи за аутоматизацију претраживача и интегрише га са Power Platform специфичним апстракцијама, омогућавајући робусну и одрживу аутоматизацију тестирања.
Основа за аутоматизацију претраживача
Тест Енгине користи основне могућности Драматичара за конзистентну аутоматизацију претраживача:
- Подршка за Цхроме, Firefox, и Microsoft Edge
- Поуздани механизми чекања који аутоматски чекају да елементи буду спремни
- Пресретање мрежних захтева за симулацију АПИ одговора
- Алати за праћење и отклањање грешака за дијагнозу неуспеха тестова
Архитектонска интеграција Тест Енгине-а
- Слој провајдера: Слој провајдера у Тест Енгине-у интерфејса директно са АПИ-јима за драматургију за контролу понашања претраживача
- Објецт Модел : Уместо да ради са сировим ДОМ елементима, Тест Енгине мапира на објектне моделе специфичне за апликацију
- Power Fx слој : Тест кораци написани у Power Fx се тумаче и извршавају кроз слој провајдера
Кључне техничке карактеристике
Следећи одељци истичу важне техничке карактеристике које Тест Енгине додаје на врх Плаywригхт-а, укључујући селекторе специфичне за апликацију, управљање контекстом претраживача и директан приступ функцијама Плаywригхт за напредне сценарије.
Селектори специфични за апликацију
Тест Енгине користи селекторе специфичне за апликацију уместо или селектора 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 handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Директне функције драмског писца
Док Тест Енгине апстрахује многе интеракције драмских писаца, постоје сценарији у којима директан приступ могућностима драмског писца може бити драгоцен. Тест Енгине пружа неколико функција прегледа које омогућавају директну интеракцију са драмским писцем из ваших Power Fx тестних корака.
Коришћење функција драмског писца у Тест Енгине-у
Тест Енгине укључује следеће функције прегледа које вам омогућавају да примените могућности избора елемената драматурга:
| Function | Опис | Пример |
|---|---|---|
| Превиеw.ПлаywригхтАцтион | Извршите акцију на елементима користећи CSS или ДОМ селекторе | Preview.PlaywrightAction("//button", "click") Погледајте заједничке акционе операције драмског писца |
| Превиеw.ПлаywригхтАцтионВалуе | Извршите акцију која захтева параметар вредности | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Погледајте Цоммон Плаywригхт Ацтион Валуе Оператионс |
| Превиеw.ПлаywригхтСцрипт | Извршите прилагођену Ц # скрипту која се повезује са драмским писцем | Preview.PlaywrightScript("sample.csx") Погледајте Напредно : Прилагођене драмске скрипте |
| Преглед.Пауза | Паузирајте извршење теста и прикажите инспектора драмског писца | Preview.Pause() |
Белешка
Да бисте користили ове функције прегледа, морате додати функције прегледа на листу дозвољених у одељку подешавања теста.
Заједничке акционе операције драмског писца
Следеће операције се могу извршити са Превиев.ПлаywригхтАцтион:
| Акција | Опис | Пример |
|---|---|---|
click |
Избор елемента помоћу догађаја клика | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Проверите да ли елемент постоји | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Сачекајте да елемент буде доступан | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Заједничке операције вредности акције драмског писца
Следеће операције се могу извршити са Превиев.ПлаywригхтАцтионВалуе:
| Акција | Опис | Пример |
|---|---|---|
fill |
Попуните поље обрасца са текстом | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Изаберите опцију са листе за избор | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Подесите атрибут на елемент | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Када користити директне функције драмског писца
Док су апстракције на нивоу апликације пожељне, директне функције драмског писца су корисне у овим сценаријима:
- Комплексне интеракције корисничког интерфејса које нису покривене стандардним функцијама Тест Енгине
- Компоненте независних произвођача у 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
}
}
Белешка
Превиев .ПлаywригхтСцрипт се имплементира само за отклањање грешака верзије Тест Енгине-а изграђеног из извора, а не у објављеном pac test run алату.
Интеграција са развојним процесом
Следећи одељци описују како се Тест Енгине и Плаyвригхт могу користити у локалном развоју и ЦИ / ЦД окружењима, подржавајући низ токова посла од интерактивног отклањања грешака до аутоматизованог извршавања цевовода.
Локални развој
За локални развој, Тест Енгине обезбеђује комплетно окружење:
- Локално извршење претраживача са видљивошћу корисничког интерфејса
- Корак по корак извршење теста
- Детаљни евиденције и дијагностика
ЦИ / ЦД интеграција
У ЦИ / ЦД окружењима, Тест Енгине може да покрене Плаywригхт у режиму без главе:
# 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)"
Најбољи примери из праксе
Када радите са интеграцијом драмског писца Тест Енгине-а:
- Фокусирајте се на објекте на нивоу апликације, а не на ДОМ елементе
- Користите Power Fx функције за сложену логику, а не сирови ЈаваСцрипт
- Искористите уграђене механизме за аутентификацију
- Резервишите директне функције драмског писца за сценарије у којима су апстракције на нивоу апликације недовољне
- Прегледајте генерисане тестове за оптимизацију за читљивост и одржавање