{"record":{"id":"71604caee57f49c3","repo":"dotnet/maui","slug":"ui-test-application-path-not-specified-71604c","errorCode":null,"errorMessage":"UI Test application path not specified.","messagePattern":"UI Test application path not specified\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"eng/devices/catalyst.cake","lineNumber":123,"sourceCode":"\t\t\t\t\t$\"--set-env=\\\"TestFilter={category}\\\" \")\n\t\t};\n\t});\n}\n\nvoid ExecuteUITests(string project, string app, string device, string resultsDir, string binDir, string config, string tfm, string rid, string toolPath)\n{\n\t// Setup environment for UI tests\n\tInformation(\"Starting UI Tests...\");\n\tvar testApp = GetTestApplications(app, device, config, tfm, rid).FirstOrDefault();\n\n\tInformation($\"Testing Device: {device}\");\n\tInformation($\"Testing App Project: {app}\");\n\tInformation($\"Testing App: {testApp}\");\n\tInformation($\"Results Directory: {resultsDir}\");\n\n\tif (string.IsNullOrEmpty(testApp))\n\t{\n\t\tthrow new Exception(\"UI Test application path not specified.\");\n\t}\n\n\t// Launch the app so it can be found by the test runner\n\tStartProcess(\"chmod\", $\"+x {testApp}/Contents/MacOS/Controls.TestCases.HostApp\");\n\n\tvar p = new System.Diagnostics.Process();\n\tp.StartInfo.UseShellExecute = true;\n\tp.StartInfo.FileName = \"open\";\n\tp.StartInfo.Arguments = testApp;\n\tp.Start();\n\n\tInformation(\"Build UITests project {0}\", project);\n\n\tvar name = System.IO.Path.GetFileNameWithoutExtension(project);\n\tvar binlog = $\"{binDir}/{name}-{config}-mac.binlog\";\n\tvar resultsFileName = SanitizeTestResultsFilename($\"{name}-{config}-catalyst-{testFilter}\");\n\tvar appiumLog = $\"{binDir}/appium_mac_{resultsFileName}.log\";\n","sourceCodeStart":105,"sourceCodeEnd":141,"githubUrl":"https://github.com/dotnet/maui/blob/f377ff1c5ee04d334d8a925f50c83a6b7afddf03/eng/devices/catalyst.cake#L105-L141","documentation":"Thrown by the Catalyst (macOS) UI test setup when GetTestApplications returns no app bundle for the given app/device/config/tfm/rid inputs. The test app (.app bundle for Catalyst/HostApp) could not be located, so the UI test launcher cannot proceed.","triggerScenarios":"GetTestApplications(app, device, config, tfm, rid).FirstOrDefault() returns null/empty — no built Catalyst app bundle matches the supplied inputs.","commonSituations":"The HostApp was not built for the Catalyst runtime identifier before the test step; rid/config/tfm mismatch; the app path argument points at a stale or wrong directory; building for iossimulator instead of maccatalyst.","solutions":["Build Controls.TestCases.HostApp for the maccatalyst runtime identifier with the same configuration and TFM first.","Pass the correct --app / ANDROID-style app path or ensure rid matches (e.g. maccatalyst-x64).","Verify config, tfm, and rid align between the build and the test invocation."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"var apps = GetTestApplications(app, device, config, tfm, rid);\nif (!apps.Any())\n    throw new Exception($\"No Catalyst test app found for app='{app}', config='{config}', tfm='{tfm}', rid='{rid}'. Build HostApp for maccatalyst first.\");\nvar testApp = apps.First();","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Build Controls.TestCases.HostApp for the maccatalyst rid before the UI test step.","Pass an explicit app path to avoid discovery ambiguity.","Keep config/tfm/rid identical between build and test steps."],"tags":["catalyst","macos","ui-tests","test-app","build-artifact","cake"],"backgroundTag":null,"analyzedSha":"f377ff1c5ee04d334d8a925f50c83a6b7afddf03","analyzedAt":"2026-08-13T14:26:18.069Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}