Skip to content

Bug Fix: Missing log-directory #919

Bug Fix: Missing log-directory

Bug Fix: Missing log-directory #919

This check has been archived and is scheduled for deletion. Learn more about checks retention
GitHub Actions / DotNet Tests succeeded Jul 11, 2023 in 0s

DotNet Tests ✅

Tests passed successfully

✅ src/TestResults/_fv-az936-485_2023-07-11_18_21_16.trx

438 tests were completed in 55s with 438 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Microsoft.PowerApps.TestEngine.Tests.Config.SingleTestInstanceStateTests 10✅ 5ms
Microsoft.PowerApps.TestEngine.Tests.Config.TestStateTests 45✅ 40ms
Microsoft.PowerApps.TestEngine.Tests.Config.YamlTestConfigParserTests 8✅ 152ms
Microsoft.PowerApps.TestEngine.Tests.ConsoleOutputTests 7✅ 4ms
Microsoft.PowerApps.TestEngine.Tests.Helpers.ExceptionHandlingHelperTest 2✅ 7ms
Microsoft.PowerApps.TestEngine.Tests.Helpers.LoggingHelpersTest 2✅ 16ms
Microsoft.PowerApps.TestEngine.Tests.Helpers.PollingHelpersTests 6✅ 3s
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerAppFunctionsTest 113✅ 50s
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerAppsUrlMapperTests 11✅ 19ms
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlRecordValueTests 3✅ 84ms
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlTableSourceTests 1✅ 1ms
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlTableValueTests 1✅ 44ms
Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.TypeMappingTests 6✅ 12ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.AssertFunctionTests 2✅ 16ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.AssertWithoutMessageFunctionTests 2✅ 10ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.ScreenshotFunctionTests 9✅ 56ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.SelectFunctionTests 9✅ 387ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.SetPropertyFunctionTests 8✅ 74ms
Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.WaitFunctionTests 25✅ 11s
Microsoft.PowerApps.TestEngine.Tests.PowerFx.PowerFxEngineTests 19✅ 28s
Microsoft.PowerApps.TestEngine.Tests.PowerFx.PowerFxHelperTests 31✅ 528ms
Microsoft.PowerApps.TestEngine.Tests.Reporting.TestLoggerTests 11✅ 87ms
Microsoft.PowerApps.TestEngine.Tests.Reporting.TestReporterTests 15✅ 327ms
Microsoft.PowerApps.TestEngine.Tests.SingleTestRunnerTests 17✅ 1s
Microsoft.PowerApps.TestEngine.Tests.System.FileSystemTests 9✅ 7ms
Microsoft.PowerApps.TestEngine.Tests.TestEngineTests 17✅ 241ms
Microsoft.PowerApps.TestEngine.Tests.TestInfra.PlaywrightTestInfraFunctionTests 36✅ 3s
Microsoft.PowerApps.TestEngine.Tests.Users.UserManagerTests 13✅ 1s

✅ Microsoft.PowerApps.TestEngine.Tests.Config.SingleTestInstanceStateTests

✅ SetBrowserConfigThrowsOnNullInput
✅ SetLoggerThrowsOnNullInput
✅ SetTestDefinitionThrowsOnNullInput
✅ SetTestIdThrowsOnInvalidInputTest(invalidInput: "")
✅ SetTestIdThrowsOnInvalidInputTest(invalidInput: null)
✅ SetTestResultsDirectoryThrowsOnInvalidInputTest(invalidInput: "")
✅ SetTestResultsDirectoryThrowsOnInvalidInputTest(invalidInput: null)
✅ SetTestRunIdThrowsOnInvalidInputTest(invalidInput: "")
✅ SetTestRunIdThrowsOnInvalidInputTest(invalidInput: null)
✅ SingleTestInstanceStateSuccessTest

✅ Microsoft.PowerApps.TestEngine.Tests.Config.TestStateTests

✅ ParseAndSetTestStateDoesNotThrowWhenEitherOfAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: "appLogicalName", appId: null)
✅ ParseAndSetTestStateDoesNotThrowWhenEitherOfAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: null, appId: "appId")
✅ ParseAndSetTestStateThrowsOnInvalidScreenConfigInBrowserConfigurationInTestSettings(screenWidth: 800, screenHeight: null)
✅ ParseAndSetTestStateThrowsOnInvalidScreenConfigInBrowserConfigurationInTestSettings(screenWidth: null, screenHeight: 800)
✅ ParseAndSetTestStateThrowsOnInvalidTestConfigFile(testConfigPath: "")
✅ ParseAndSetTestStateThrowsOnInvalidTestConfigFile(testConfigPath: null)
✅ ParseAndSetTestStateThrowsOnNoAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: "", appId: "")
✅ ParseAndSetTestStateThrowsOnNoAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: "", appId: null)
✅ ParseAndSetTestStateThrowsOnNoAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: null, appId: "")
✅ ParseAndSetTestStateThrowsOnNoAppLogicalNameOrAppIdInTestSuiteDefinition(appLogicalName: null, appId: null)
✅ ParseAndSetTestStateThrowsOnNoBrowserConfigurationInTestSettings
✅ ParseAndSetTestStateThrowsOnNoBrowserInBrowserConfigurationInTestSettings(browser: "")
✅ ParseAndSetTestStateThrowsOnNoBrowserInBrowserConfigurationInTestSettings(browser: null)
✅ ParseAndSetTestStateThrowsOnNoEmailKeyInUserConfigurationInEnvironmentVariables(emailKey: "")
✅ ParseAndSetTestStateThrowsOnNoEmailKeyInUserConfigurationInEnvironmentVariables(emailKey: null)
✅ ParseAndSetTestStateThrowsOnNoEnvironmentVariables
✅ ParseAndSetTestStateThrowsOnNoNameInTestSuiteDefinition(testName: "")
✅ ParseAndSetTestStateThrowsOnNoNameInTestSuiteDefinition(testName: null)
✅ ParseAndSetTestStateThrowsOnNoPasswordKeyInUserConfigurationInEnvironmentVariables(passwordKey: "")
✅ ParseAndSetTestStateThrowsOnNoPasswordKeyInUserConfigurationInEnvironmentVariables(passwordKey: null)
✅ ParseAndSetTestStateThrowsOnNoPersonaInTestSuiteDefinition(persona: "")
✅ ParseAndSetTestStateThrowsOnNoPersonaInTestSuiteDefinition(persona: null)
✅ ParseAndSetTestStateThrowsOnNoPersonaNameInUserConfigurationInEnvironmentVariables(personaName: "")
✅ ParseAndSetTestStateThrowsOnNoPersonaNameInUserConfigurationInEnvironmentVariables(personaName: null)
✅ ParseAndSetTestStateThrowsOnNoTestCaseInTestSuiteDefinition
✅ ParseAndSetTestStateThrowsOnNoTestCaseNameInTestCase(testCaseName: "")
✅ ParseAndSetTestStateThrowsOnNoTestCaseNameInTestCase(testCaseName: null)
✅ ParseAndSetTestStateThrowsOnNoTestSettings
✅ ParseAndSetTestStateThrowsOnNoTestStepsInTestCase(testSteps: "")
✅ ParseAndSetTestStateThrowsOnNoTestStepsInTestCase(testSteps: null)
✅ ParseAndSetTestStateThrowsOnNoTestSuiteDefinition
✅ ParseAndSetTestStateThrowsOnNoUserConfigurationInEnvironmentVariables
✅ ParseAndSetTestStateThrowsOnNullBrowserConfigurationInTestSettings
✅ ParseAndSetTestStateThrowsOnNullUserConfigurationInEnvironmentVariables
✅ ParseAndSetTestStateThrowsOnTestSuiteDefinitionUserNotDefined
✅ SetDomainThrowsOnNullInput(domain: "")
✅ SetDomainThrowsOnNullInput(domain: null)
✅ SetEnvironmentThrowsOnNullInput(environment: "")
✅ SetEnvironmentThrowsOnNullInput(environment: null)
✅ SetOutputDirectoryThrowsOnNullInput(outputDirectory: "")
✅ SetOutputDirectoryThrowsOnNullInput(outputDirectory: null)
✅ SetTenantThrowsOnNullInput(tenant: "")
✅ SetTenantThrowsOnNullInput(tenant: null)
✅ TestStateSuccessOnFilePathTest
✅ TestStateSuccessTest

✅ Microsoft.PowerApps.TestEngine.Tests.Config.YamlTestConfigParserTests

✅ YamlTestConfigParserParseEnvironmentVariablesTest
✅ YamlTestConfigParserParseTestPlanWithAppIDTest
✅ YamlTestConfigParserParseTestPlanWithAppLogicalNameTest
✅ YamlTestConfigParserParseTestPlanWithLocaleTest
✅ YamlTestConfigParserParseTestSettingsTest
✅ YamlTestConfigParserParseTestSettingsWithLocaleTest
✅ YamlTestConfigParserThrowsOnNullArguments(filePath: "")
✅ YamlTestConfigParserThrowsOnNullArguments(filePath: null)

✅ Microsoft.PowerApps.TestEngine.Tests.ConsoleOutputTests

✅ TestEncounteredException
✅ TestMultipleBrowserRuns
✅ TestSuiteBegin
✅ TestSuiteEnd
✅ TestTestCaseBegin
✅ TestTestCaseEndFailed
✅ TestTestCaseEndPassed

✅ Microsoft.PowerApps.TestEngine.Tests.Helpers.ExceptionHandlingHelperTest

✅ CheckIfOutDatedPublishedAppFalse
✅ CheckIfOutDatedPublishedAppTrue

✅ Microsoft.PowerApps.TestEngine.Tests.Helpers.LoggingHelpersTest

✅ DebugInfoNullSessionTest
✅ DebugInfoWithSessionTest

✅ Microsoft.PowerApps.TestEngine.Tests.Helpers.PollingHelpersTests

✅ PollingAsyncSucceedsTest
✅ PollingAsyncThrowsOnInvalidArgumentsTest
✅ PollingAsyncTimeoutTest
✅ PollingSucceedsTest
✅ PollingThrowsOnInvalidArgumentsTest
✅ PollingTimeoutTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerAppFunctionsTest

✅ GetDebugInfoReturnsNull
✅ GetDebugInfoReturnsObject
✅ GetItemCountAsyncNoPublishedAppFunction
✅ GetItemCountTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: 1)
✅ GetItemCountTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: 2)
✅ GetItemCountTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: 3)
✅ GetItemCountTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: 4)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetItemCountThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetPropertyAsyncNoPublishedAppFunction
✅ GetPropertyValueFromControlTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"..., expectedOutput: "012")
✅ GetPropertyValueFromControlTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"..., expectedOutput: "123")
✅ GetPropertyValueFromControlTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"..., expectedOutput: "456")
✅ GetPropertyValueFromControlTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"..., expectedOutput: "789")
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Label1\",\"index\":null,\"paren"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ GetPropertyValueFromControlThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ LoadPowerAppsObjectModelAsyncEmbedJSDefined
✅ LoadPowerAppsObjectModelAsyncEmbedJSUndefined
✅ LoadPowerAppsObjectModelAsyncNoPublishedAppFunction
✅ LoadPowerAppsObjectModelAsyncTest
✅ LoadPowerAppsObjectModelAsyncWaitsForAppToLoad
✅ LoadPowerAppsObjectModelAsyncWaitsForAppToLoadWithExceptions
✅ LoadPowerAppsObjectModelAsyncWithDuplicatesDoesNotThrowTest
✅ LoadPowerAppsObjectModelAsyncWithNoModelTest(jsObjectModelString: "")
✅ LoadPowerAppsObjectModelAsyncWithNoModelTest(jsObjectModelString: "{ controls: [] }")
✅ LoadPowerAppsObjectModelAsyncWithNoModelTest(jsObjectModelString: "{}")
✅ LoadPowerAppsObjectModelAsyncWithNoModelTest(jsObjectModelString: null)
✅ SelectControlAsyncFailsNoPublishedAppFunction
✅ SelectControlAsyncTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: False)
✅ SelectControlAsyncTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: False)
✅ SelectControlAsyncTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: True)
✅ SelectControlAsyncTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"..., expectedOutput: True)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"\",\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":\"Button1\",\"index\":null,\"pare"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ SelectControlAsyncThrowsOnInvalidInputTest(itemPathString: "{\"controlName\":null,\"index\":null,\"parentContr"...)
✅ SetPropertyAsyncItemPathTest
✅ SetPropertyAsyncThrowsOnInvalidFormulaValueTest
✅ SetPropertyBooleanAsyncTest
✅ SetPropertyDateAsyncNoPublishedAppFunction
✅ SetPropertyDateAsyncTest
✅ SetPropertyNumberAsyncTest
✅ SetPropertyRecordAsyncNoPublishedAppFunction
✅ SetPropertyRecordAsyncTest
✅ SetPropertyStringAsyncTest
✅ SetPropertyTableAsyncNoPublishedAppFunction
✅ SetPropertyTableAsyncTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerAppsUrlMapperTests

✅ GenerateAppUrlTest(environmentId: "defaultEnvironment", domain: "apps.powerapps.com", appLogicalName: null, appId: "appId", tenantId: "defaultTenant", expectedAppUrl: "https://apps.powerapps.com/play/e/defaultEnvironme"..., queryParams: "")
✅ GenerateAppUrlTest(environmentId: "defaultEnvironment", domain: "apps.test.powerapps.com", appLogicalName: "defaultApp", appId: "appId", tenantId: "defaultTenant", expectedAppUrl: "https://apps.test.powerapps.com/play/e/defaultEnvi"..., queryParams: "")
✅ GenerateAppUrlTest(environmentId: "myEnvironment", domain: "apps.powerapps.com", appLogicalName: "myApp", appId: "appId", tenantId: "myTenant", expectedAppUrl: "https://apps.powerapps.com/play/e/myEnvironment/an"..., queryParams: "")
✅ GenerateAppUrlTest(environmentId: "myEnvironment", domain: "apps.powerapps.com", appLogicalName: "myApp", appId: "appId", tenantId: "myTenant", expectedAppUrl: "https://apps.powerapps.com/play/e/myEnvironment/an"..., queryParams: "&enablePATest=true&patestSDKVersion=0.0.1")
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: "", appLogicalName: "appLogicalName", appId: "appId", tenantId: "tenantId")
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: "environmentId", appLogicalName: "", appId: "", tenantId: "tenantId")
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: "environmentId", appLogicalName: "appLogicalName", appId: "appId", tenantId: "")
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: "environmentId", appLogicalName: "appLogicalName", appId: "appId", tenantId: null)
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: "environmentId", appLogicalName: null, appId: null, tenantId: "tenantId")
✅ GenerateLoginUrlThrowsOnInvalidSetupTest(environmentId: null, appLogicalName: "appLogicalName", appId: "appId", tenantId: "tenantId")
✅ GenerateLoginUrlThrowsOnInvalidTestDefinitionTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlRecordValueTests

✅ ComponentsControlRecordValueTest
✅ GalleryControlRecordValueTest
✅ SimpleControlRecordValueTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlTableSourceTests

✅ TableSourceTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.ControlTableValueTests

✅ TableTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerApps.PowerFXModel.TypeMappingTests

✅ GetComplexTypeWithMissingSubType
✅ GetRecordTypeTest
✅ GetTableTypeTest
✅ GetTypeThatWasAddedTest
✅ TryGetTypeFailsForNonExistentTypeTest
✅ TypeMappingSetsUpDefaultTypes

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.AssertFunctionTests

✅ AssertFunctionSucceedsOnFalseTest
✅ AssertFunctionSucceedsOnTrueTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.AssertWithoutMessageFunctionTests

✅ AssertFunctionSucceedsOnFalseTest
✅ AssertFunctionSucceedsOnTrueTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.ScreenshotFunctionTests

✅ ScreenshotFunctionTest(screenshotName: "screenshot.jpeg")
✅ ScreenshotFunctionTest(screenshotName: "screenshot.jpg")
✅ ScreenshotFunctionTest(screenshotName: "screenshot.png")
✅ ScreenshotFunctionThrowsOnInvalidResultDirectoryTest
✅ ScreenshotFunctionThrowsOnInvalidScreenshotNameTest(screenshotName: "")
✅ ScreenshotFunctionThrowsOnInvalidScreenshotNameTest(screenshotName: "C:\\folder")
✅ ScreenshotFunctionThrowsOnInvalidScreenshotNameTest(screenshotName: "test.img")
✅ ScreenshotFunctionThrowsOnInvalidScreenshotNameTest(screenshotName: "test.txt")
✅ ScreenshotFunctionThrowsOnNonRelativeFilePathTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.SelectFunctionTests

✅ SelectFunctionThrowsOnNonPowerAppsRecordValuetTest
✅ SelectFunctionThrowsOnNullObjectTest
✅ SelectGalleryTest
✅ SelectOneParamFunctionFailsTest
✅ SelectOneParamFunctionTest
✅ SelectThreeParamFunctionFailsTest
✅ SelectThreeParamFunctionTest
✅ SelectTwoParamFunctionFailsTest
✅ SelectTwoParamFunctionTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.SetPropertyFunctionTests

✅ SetPropertyBooleanFunctionTest
✅ SetPropertyDateFunctionTest
✅ SetPropertyFunctionFailsTest
✅ SetPropertyFunctionThrowsOnNonPowerAppsRecordValueTest
✅ SetPropertyNumberFunctionTest
✅ SetPropertyRecordFunctionTest
✅ SetPropertyStringFunctionTest
✅ SetPropertyTableFunctionTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.Functions.WaitFunctionTests

✅ WaitFunctionBooleanSucceedsTest
✅ WaitFunctionBooleanThrowsOnInvalidArgumentsTest
✅ WaitFunctionBooleanTimeoutTest
✅ WaitFunctionBooleanWaitsForValueToUpdateTest
✅ WaitFunctionDate_DateTimeValueSucceedsTest
✅ WaitFunctionDate_DateValueSucceedsTest
✅ WaitFunctionDateThrowsOnInvalidArgumentsTest
✅ WaitFunctionDateTime_DateTimeValueSucceedsTest
✅ WaitFunctionDateTime_DateValueSucceedsTest
✅ WaitFunctionDateTimeoutTest
✅ WaitFunctionDateTimeTimeoutTest
✅ WaitFunctionDateTimeWaitsForValueToUpdateTest
✅ WaitFunctionDateWaitsForValueToUpdateTest
✅ WaitFunctionImproperValueForBooleanTest
✅ WaitFunctionImproperValueForDateTest
✅ WaitFunctionImproperValueForNumberTest
✅ WaitFunctionImproperValueForStringTest
✅ WaitFunctionNumberSucceedsTest
✅ WaitFunctionNumberThrowsOnInvalidArgumentsTest
✅ WaitFunctionNumberTimeoutTest
✅ WaitFunctionNumberWaitsForValueToUpdateTest
✅ WaitFunctionStringSucceedsTest
✅ WaitFunctionStringThrowsOnInvalidArgumentsTest
✅ WaitFunctionStringTimeoutTest
✅ WaitFunctionStringWaitsForValueToUpdateTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.PowerFxEngineTests

✅ ExecuteAssertFunctionTest
✅ ExecuteFailsWhenPowerFXThrowsTest
✅ ExecuteFailsWhenUsingNonExistentVariableTest
✅ ExecuteMultipleFunctionsTest
✅ ExecuteOneFunctionTest
✅ ExecuteScreenshotFunctionTest
✅ ExecuteSelectFunctionFailingTest
✅ ExecuteSelectFunctionTest
✅ ExecuteSelectFunctionThrowsOnDifferentRecordTypeTest
✅ ExecuteSetPropertyFunctionTest
✅ ExecuteSetPropertyFunctionThrowsOnDifferentRecordTypeTest
✅ ExecuteThrowsOnNoSetupTest
✅ ExecuteWaitFunctionTest
✅ ExecuteWaitFunctionThrowsOnDifferentRecordTypeTest
✅ ExecuteWithVariablesTest
✅ SetupDoesNotThrow
✅ TestStepByStep
✅ UpdatePowerFxModelAsyncThrowsOnCantGetAppStatusTest
✅ UpdatePowerFxModelAsyncThrowsOnNoSetupTest

✅ Microsoft.PowerApps.TestEngine.Tests.PowerFx.PowerFxHelperTests

✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: ";;;;", expectedFormulas: ["", "", "", ""])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "'Test;;2333';Max(1;'Button1;Button2';23;/*\n\n;;Co"..., expectedFormulas: ["'Test;;2333'", "Max(1;'Button1;Button2';23;/*\n\n;;Comment\n\n*/33"...])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "'Test;;2333';Max(1;'Button1;Button2';23;/*\n\n;;Co"..., expectedFormulas: ["'Test;;2333'", "Max(1;'Button1;Button2';23;/*\n\n;;Comment\n\n33,1"...])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "'Test;2212", expectedFormulas: ["'Test;2212"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "", expectedFormulas: [])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "##Max(1;2;Max(22;34;Sum(1;>?2,2)), 40);1+1;/*Comme"..., expectedFormulas: ["##Max(1", "2", "Max(22", "34", "Sum(1", ...])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "$\";{1;2;3;Max(1;2;30,40)}\";Max(1;20;3)", expectedFormulas: ["$\";{1;2;3;Max(1;2;30,40)}\"", "Max(1;20;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "$\";{1;2;3;Max(1;2;30#########<>><>>#3,40)}\";Max("..., expectedFormulas: ["$\";{1;2;3;Max(1;2;30#########<>><>>#3,40)}\"", "Max(1;20;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "$\";{1;2;3;Max(1;2;30#########<>><>>#3,40)}\"", expectedFormulas: ["$\";{1;2;3;Max(1;2;30#########<>><>>#3,40)}\""])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "1 + 2", expectedFormulas: ["1 + 2"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "1;;;2;;", expectedFormulas: ["1", "", "", "2", ""])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "1#1;/*comment;;*/2+2", expectedFormulas: ["1#1", "/*comment;;*/2+2"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "1+1;/*comment;;*/2+2", expectedFormulas: ["1+1", "/*comment;;*/2+2"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Max(;;;1,2)", expectedFormulas: ["Max(;;;1,2)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Max(;22)", expectedFormulas: ["Max(", "22)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Max(1;2;3)", expectedFormulas: ["Max(1;2;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Max(1;2;Max(22;34;Sum(1;>?2,2)), 40);1+1;/*Comment"..., expectedFormulas: ["Max(1;2;Max(22;34;Sum(1;>?2,2)), 40)", "1+1", "/*Comment;*/"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Max(1;2;Max(22;34;Sum(1;2,2)), 40);1+1;/*Comment;*"..., expectedFormulas: ["Max(1;2;Max(22;34;Sum(1;2,2)), 40)", "1+1", "/*Comment;*/"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Select(Button1);Assert(Button1.Text=\"semicolons;;"..., expectedFormulas: ["Select(Button1)", "Assert(Button1.Text=\"semicolons;;;;semicolons\")", "1+2", "Max(1;2;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Select(Button1)", expectedFormulas: ["Select(Button1)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "en-US", expression: "Select(Button1/*Selecting button 1;;;*/);Assert(Bu"..., expectedFormulas: ["Select(Button1/*Selecting button 1;;;*/)", "Assert(Button1.Text = Text(\"Ab\";\"Abcd\"))"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: ";;", expectedFormulas: [""])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "\"string \n;;String\";;1+2\n\n\n;;Max(\n1;2;\n3);;", expectedFormulas: ["\"string \n;;String\"", "1+2\n\n\n", "Max(\n1;2;\n3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "$\";;;;{1;;2;;\n\n3;;Max(1;;2;;30,3;40)}\"\n\n\n;;"..., expectedFormulas: ["$\";;;;{1;;2;;\n\n3;;Max(1;;2;;30,3;40)}\"\n\n\n", "Max(1;;20;;3)", "1+1"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "1;;;;2", expectedFormulas: ["1", "", "2"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "1#1;2+2;;/*comment;;*/3+3;;Max(1;2;3)", expectedFormulas: ["1#1;2+2", "/*comment;;*/3+3", "Max(1;2;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "Max(1;;2;;3;30;;Max(230;;23;;33);;3);;Select(Butto"..., expectedFormulas: ["Max(1;;2;;3;30;;Max(230;;23;;33);;3)", "Select(Button1;;Button2;;Button3;;;;", ")"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "Max(1;;2;;3;30;;Max(230;;23;;33);;3);;Select(Butto"..., expectedFormulas: ["Max(1;;2;;3;30;;Max(230;;23;;33);;3)", "Select(Button1;;Button2;;Button3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "Max(1;;2;;3;30;;Max(230;;23;;33);;3)", expectedFormulas: ["Max(1;;2;;3;30;;Max(230;;23;;33);;3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "fr", expression: "Select(Button1);;Assert(Button1.Text=\"semicolons;"..., expectedFormulas: ["Select(Button1)", "Assert(Button1.Text=\"semicolons;;;;semicolons\")", "1+2", "Max(1,2,3)"])
✅ TestFormulasSeparatedByChainingOpAreExtractedCorrectly(locale: "it", expression: "$\";;;;{1;;2;;3;;;;Max(1;;2;;;;30,3;40)}\";;;;", expectedFormulas: ["$\";;;;{1;;2;;3;;;;Max(1;;2;;;;30,3;40)}\"", ""])

✅ Microsoft.PowerApps.TestEngine.Tests.Reporting.TestLoggerTests

✅ BeginScopeThrowsIfScopeAlreadyBegunTest
✅ BeginScopeThrowsOnInvalidInputTest
✅ IsEnabledTest(level: Critical, shouldBeEnabled: True)
✅ IsEnabledTest(level: Debug, shouldBeEnabled: True)
✅ IsEnabledTest(level: Error, shouldBeEnabled: True)
✅ IsEnabledTest(level: Information, shouldBeEnabled: True)
✅ IsEnabledTest(level: None, shouldBeEnabled: True)
✅ IsEnabledTest(level: Trace, shouldBeEnabled: True)
✅ IsEnabledTest(level: Warning, shouldBeEnabled: True)
✅ LoggerTest
✅ WriteToLogsFileThrowsOnInvalidPathTest

✅ Microsoft.PowerApps.TestEngine.Tests.Reporting.TestReporterTests

✅ CreateTestRunTest
✅ CreateTestSuiteTest
✅ CreateTestTest
✅ EndTestRunTest
✅ EndTestTest(success: False, stdout: "some logs", additionalFiles: [], errorMessage: null)
✅ EndTestTest(success: True, stdout: "some logs", additionalFiles: ["file1.txt", "file2.txt", "file3.txt"], errorMessage: null)
✅ EndTestTest(success: True, stdout: "some logs", additionalFiles: [], errorMessage: "error message")
✅ EndTestTest(success: True, stdout: "some logs", additionalFiles: [], errorMessage: null)
✅ FailTestTest
✅ GenerateTestReportTest
✅ StartTestRunTest
✅ StartTestTest
✅ ThrowsOnInvalidTestRunIdTest(testRunId: "")
✅ ThrowsOnInvalidTestRunIdTest(testRunId: "nonexistentid")
✅ ThrowsOnInvalidTestRunIdTest(testRunId: null)

✅ Microsoft.PowerApps.TestEngine.Tests.SingleTestRunnerTests

✅ CreateDirectoryThrowsTest
✅ GenerateAppUrlThrowsTest
✅ GoToUrlThrowsTest
✅ LoginAsUserThrowsTest
✅ PowerFxExecuteThrowsTest
✅ PowerFxSetupThrowsTest
✅ PowerFxUpdatePowerFxModelAsyncThrowsTest
✅ SetupNetworkRequestMockThrowsTest
✅ SingleTestRunnerCanOnlyBeRunOnce
✅ SingleTestRunnerPowerFxTestFail
✅ SingleTestRunnerSuccessWithTestDataOneTest(additionalFiles: ["/logs.txt", "/screenshot1.png", "/screenshot2.png"])
✅ SingleTestRunnerSuccessWithTestDataOneTest(additionalFiles: [])
✅ SingleTestRunnerSuccessWithTestDataOneTest(additionalFiles: null)
✅ SingleTestRunnerSuccessWithTestDataTwoTest(additionalFiles: ["/logs.txt", "/screenshot1.png", "/screenshot2.png"])
✅ SingleTestRunnerSuccessWithTestDataTwoTest(additionalFiles: [])
✅ SingleTestRunnerSuccessWithTestDataTwoTest(additionalFiles: null)
✅ TestInfraSetupThrowsTest

✅ Microsoft.PowerApps.TestEngine.Tests.System.FileSystemTests

✅ IsValidFilePathTest(filePath: "", expectedResult: False)
✅ IsValidFilePathTest(filePath: "C:/fold:er", expectedResult: False)
✅ IsValidFilePathTest(filePath: "C:/folder/file.txt", expectedResult: True)
✅ IsValidFilePathTest(filePath: "C:\\folder", expectedResult: True)
✅ IsValidFilePathTest(filePath: "C:\\folder\\file", expectedResult: True)
✅ IsValidFilePathTest(filePath: "file.txt", expectedResult: True)
✅ IsValidFilePathTest(filePath: null, expectedResult: False)
✅ RemoveInvalidFileNameCharsTest(inputFileName: "", expectedFileName: "")
✅ RemoveInvalidFileNameCharsTest(inputFileName: "file.txt", expectedFileName: "file.txt")

✅ Microsoft.PowerApps.TestEngine.Tests.TestEngineTests

✅ TestEngineTest(outputDirectory: C:\testResults, domain: "GCC", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: C:\testResults, domain: "GCC", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "de-DE", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: C:\testResults, domain: "GCC", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "en-US", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: C:\testResults, domain: "Prod", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }, BrowserConfiguration { ... }, BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: C:\testResults, domain: "Prod", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }, BrowserConfiguration { ... }, BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: C:\testResults, domain: "Prod", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: TestOutput, domain: "", testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineTest(outputDirectory: TestOutput, domain: null, testSettings: TestSettings { BrowserConfigurations = [BrowserConfiguration { ... }], EnablePowerFxOverlay = False, FilePath = null, Headless = True, Locale = "", ... }, testSuiteDefinition: TestSuiteDefinition { AppId = "", AppLogicalName = "logicalAppName1", NetworkRequestMocks = null, OnTestCaseComplete = null, OnTestCaseStart = null, ... })
✅ TestEngineThrowsOnNullArguments(testConfigFilePath: "C:\\testPlan.fx.yaml", environmentId: "", tenantId: "a01af035-a529-4aaf-aded-011ad676f976", domain: "apps.powerapps.com")
✅ TestEngineThrowsOnNullArguments(testConfigFilePath: "C:\\testPlan.fx.yaml", environmentId: "Default-EnvironmentId", tenantId: "00000000-0000-0000-0000-000000000000", domain: "apps.powerapps.com")
✅ TestEngineThrowsOnNullArguments(testConfigFilePath: "C:\\testPlan.fx.yaml", environmentId: "Default-EnvironmentId", tenantId: "a01af035-a529-4aaf-aded-011ad676f976", domain: "")
✅ TestEngineThrowsOnNullArguments(testConfigFilePath: null, environmentId: "Default-EnvironmentId", tenantId: "a01af035-a529-4aaf-aded-011ad676f976", domain: "apps.powerapps.com")
✅ TestEngineWithDefaultParamsTest
✅ TestEngineWithInvalidLocaleTest
✅ TestEngineWithMultipleBrowserConfigTest
✅ TestEngineWithNullOutputDirectoryTest
✅ TestEngineWithUnspecifiedLocaleShowsWarning

✅ Microsoft.PowerApps.TestEngine.Tests.TestInfra.PlaywrightTestInfraFunctionTests

✅ AddScriptTagSuccessfulTest
✅ AddScriptTagToFrameSuccessfulTest
✅ ClickAsyncSuccessfulTest
✅ EndTestRunSuccessTest
✅ FillAsyncSuccessfulTest
✅ GoToUrlTest
✅ GoToUrlThrowsOnInvalidUrlTest(url: "")
✅ GoToUrlThrowsOnInvalidUrlTest(url: "file://c:/test.txt")
✅ GoToUrlThrowsOnInvalidUrlTest(url: "hi")
✅ GoToUrlThrowsOnInvalidUrlTest(url: "www.microsoft.com")
✅ GoToUrlThrowsOnInvalidUrlTest(url: null)
✅ GoToUrlThrowsOnUnsuccessfulResponseTest
✅ HandleUserPasswordScreen
✅ HandleUserPasswordScreenErrorEntry
✅ HandleUserPasswordScreenUnknownError
✅ PageFunctionsThrowOnNullPageTest
✅ RouteNetworkRequestTest
✅ RunJavascriptSuccessfulTest
✅ ScreenshotSuccessfulTest
✅ ScreenshotThrowsOnInvalidScreenshotFilePath
✅ SetupAsyncTest(browser: "Chromium", device: "Pixel 2", screenWidth: null, screenHeight: null)
✅ SetupAsyncTest(browser: "Chromium", device: null, screenWidth: null, screenHeight: null)
✅ SetupAsyncTest(browser: "Safari", device: "iPhone 8", screenWidth: 400, screenHeight: 800)
✅ SetupAsyncTest(browser: "Safari", device: "iPhone 8", screenWidth: 400, screenHeight: null)
✅ SetupAsyncThrowsOnInvalidBrowserTest(browser: "")
✅ SetupAsyncThrowsOnInvalidBrowserTest(browser: "Chrome")
✅ SetupAsyncThrowsOnInvalidBrowserTest(browser: "INVALID_BROWSER_NAME")
✅ SetupAsyncThrowsOnInvalidBrowserTest(browser: "Safari")
✅ SetupAsyncThrowsOnInvalidBrowserTest(browser: null)
✅ SetupAsyncThrowsOnNullBrowserConfigTest
✅ SetupAsyncThrowsOnNullTestSettingsTest
✅ SetupNetworkRequestMockAsyncNullMockSkipTest
✅ SetupNetworkRequestMockAsyncTest
✅ SetupNetworkRequestMockAsyncThrowOnEmptyFilePathTest
✅ SetupNetworkRequestMockAsyncThrowOnInvalidFilePathTest
✅ SetupNetworkRequestMockAsyncThrowOnNullRequestURLTest

✅ Microsoft.PowerApps.TestEngine.Tests.Users.UserManagerTests

✅ LoginAsUserSuccessTest
✅ LoginUserAsyncThrowsOnInvalidEnviromentVariablesTest(email: "", password: "user1Password")
✅ LoginUserAsyncThrowsOnInvalidEnviromentVariablesTest(email: "someone@example.com", password: "")
✅ LoginUserAsyncThrowsOnInvalidEnviromentVariablesTest(email: "someone@example.com", password: null)
✅ LoginUserAsyncThrowsOnInvalidEnviromentVariablesTest(email: null, password: "user1Password")
✅ LoginUserAsyncThrowsOnInvalidPersonaTest(persona: "")
✅ LoginUserAsyncThrowsOnInvalidPersonaTest(persona: null)
✅ LoginUserAsyncThrowsOnInvalidUserConfigTest(emailKey: "", passwordKey: "myPassword1234")
✅ LoginUserAsyncThrowsOnInvalidUserConfigTest(emailKey: "user1Email", passwordKey: "")
✅ LoginUserAsyncThrowsOnInvalidUserConfigTest(emailKey: "user1Email", passwordKey: null)
✅ LoginUserAsyncThrowsOnInvalidUserConfigTest(emailKey: null, passwordKey: "myPassword1234")
✅ LoginUserAsyncThrowsOnNullTestDefinitionTest
✅ LoginUserAsyncThrowsOnNullUserConfigTest