참고
프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.
테스트 엔진은 다음과 같은 기존 PowerFx 함수를 사용합니다.
다음 기능은 테스트 엔진에서만 사용할 수 있습니다.
테스트 엔진은 다음과 같은 미리보기 기능을 제공합니다.
- 미리보기.AIExecutePrompt
- 미리보기.ConsentDialog
- 미리보기.일시 중지
- 미리보기.극작가 액션
- 미리보기.PlaywrightActionValue
- Preview.PlaywrightScript
- 미리보기.SelectControl
- 미리보기.SimulateConnector
- 미리보기.SimulateDataverse
테스트 엔진 기능
이 기능은 테스트 엔진에서만 사용할 수 있습니다.
스크린샷
Screenshot(fileNameOfScreenshot)
이 기능은 현재 시점의 앱 스크린샷을 캡처합니다. 스크린샷 파일은 제공된 이름으로 테스트 출력 폴더에 저장됩니다.
참고
Jpeg 및 png 파일만 지원됩니다.
스크린샷 예시
Screenshot("buttonClicked.png")
Wait
Wait(Control, Property, Value)
이 함수는 컨트롤의 속성이 지정된 값과 같아질 때까지 기다립니다.
대기 예
Wait(Label1, "Text", "0")
미리보기 기능
다음 함수는 Power Fx Preview 네임스페이스의 Preview testSettings allowPowerFxNamespaces 의 extensionModules 속성 목록에 추가하여 선택적으로 테스트에 포함될 수 있습니다. ...
참고
- 미리보기 기능은 변경될 수 있습니다. 이러한 기능이 더 폭넓게 사용될 준비가 되면
TestEngine네임스페이스 내에서 이동하는 것으로 간주됩니다. - 사용자 정의 함수를 사용하여 함수를 래핑하면
Preview미리 보기 버전이 아닌 함수로의 마이그레이션이 더 쉬워집니다. -
ParseJSON함수를 사용하여 구문 분석할 수 있는 JSON 객체만 반환하는 모델을 만들 수 있습니다.
미리보기.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
사용자 지정 AI Builder 프롬프트 를 호출하고 실행의 텍스트 결과를 얻습니다.
참고
이 기능의 가용성 및 구성에 대한 자세한 내용은 Dataverse AI 통합 섹션을 검토하세요.
이 함수의 사용에 대한 자세한 내용과 설명은 Preview.AIExecutePrompt를 사용하여 검토하세요. ...
Preview.AIExecutePrompt 예제
다음 예제에서는 매개변수 값이 Country인 Country Capital이라는 AI 프롬프트를 호출하고 모델 실행 시 단일 단어인 Paris가 반환되기를 기대합니다.
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
미리보기.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
캔버스 애플리케이션 또는 모델 기반 애플리케이션 사용자 정의 페이지에 대한 동의 대화 상자를 확인할 때까지 기다리십시오.
Preview.ConsentDialog 예제
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
미리보기.일시 중지
Preview.Pause()
테스트를 일시 중지하고 대화형 테스트를 실행 중인 경우 Playwright Inspector 를 표시합니다.
참고
알려진 문제: Preview.Pause 기능이 PAC 테스트 실행을 위한 검사기를 제대로 열지 않습니다.
설명: 해당 함수는 Preview.Pause 어떤 작업 중에 검사기를 열지 못했습니다. pac test run
해결 방법: 테스트 엔진의 오픈 소스 버전을 일시 중지 기능에 사용할 수 있습니다.
미리보기.일시 중지 예제
Preview.Pause()
미리보기.SelectControl
Preview.SelectControl(Control: ControlName, Index: Number)
문서 개체 모델을 사용하여 컨트롤 선택
Preview.SelectControl 예제
첫 번째 Button3 일치 항목을 선택하세요
Preview.SelectControl(Button3,1);
미리보기.극작가 액션
Preview.PlaywrightAction(Text, Text)
Playwright CSS 또는 XPath Locator를 사용하여 현재 페이지에서 작업을 실행합니다.
Preview.PlaywrightAction 예제
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
미리보기.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Playwright CSS 또는 XPath Locator 를 사용하여 현재 페이지에서 작업을 실행합니다.
Preview.PlaywrightActionValue 예제
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Preview.PlaywrightScript
Preview.PlaywrightScript(Text)
현재 페이지에서 C# 스크립트를 실행합니다.
참고
이 기능은 오픈 소스 버전의 Test Engine에서 디버그 빌드에만 구현되며 pac 테스트 실행에서는 구현되지 않습니다.
Preview.PlaywrightScript 예제
Preview.PlaywrightScript("sample.csx")
sample.csx 내용은 다음 코드와 유사합니다.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Threading.Tasks;
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();
if ( page.Url == "about:blank" ) {
var nextPage = context.Pages.Skip(1).First();
await page.CloseAsync();
page = nextPage;
}
foreach ( var frame in page.Frames ) {
if ( await frame.Locator("button:has-text('Button')").CountAsync() > 0 ) {
await frame.ClickAsync("button:has-text('Button')");
}
}
}
}
미리보기.SimulateConnector
Preview.SimulateConnector({name: Text, then: Record})
Power Apps 에서 모든 Power Apps 커넥터 목록에서 찾은 커넥터 유형에 대한 호출이 이루어질 때
Preview.SimulateConnector 예제
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
미리보기.SimulateDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Preview.SimulateDataverse 예제
이 예에서는 논리적 이름 Dataverse 을 가진 엔터티 sample_combotable 를 쿼리하기 위해 호출할 때 Table 함수를 사용하여 레코드를 반환합니다.
Preview.SimulateDataverse({
Action: "Query",
Entity: "sample_combotable",
Then: Table(
{
'sample_name': "Item 1",
'sample_id': 3,
'sample_combotableid': "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
'createdon': "2024-12-02T17:52:45Z"
},
{
'sample_name': "RR2",
'sample_id': 4,
'sample_combotableid': "bbbbbbbb-1111-2222-3333-cccccccccccc",
'createdon': "2024-12-02T17:54:45Z"
},
{
'sample_name': "RR3",
'sample_id': 5,
'sample_combotableid': "cccccccc-2222-3333-4444-dddddddddddd",
'createdon': "2024-12-02T17:54:45Z"
}
)
});