Skip to content
Open
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
11b53b8
creation of feature branch
Oct 6, 2025
18c29f8
New MCP tool for running mobile tests (via app distribution). (#9250)
jrothfeder Oct 6, 2025
7d8e857
Merge branch 'master' into feature-branch/mcp/mobile-testing
Oct 6, 2025
455d6d3
Rename appdistribution directory to apptesting (#9268)
jrothfeder Oct 7, 2025
b26c98b
Merge branch 'master' into feature-branch/mcp/mobile-testing
Oct 7, 2025
1744e5e
Use a datastructure to represent test devices rather than a string. (…
jrothfeder Oct 8, 2025
62e3171
Merge branch 'master' into feature-branch/mcp/mobile-testing
Oct 8, 2025
26dd4f3
Merge branch 'master' into feature-branch/mcp/mobile-testing
tagboola Oct 8, 2025
c318b06
Merge branch 'master' into feature-branch/mcp/mobile-testing
tagboola Oct 9, 2025
81c1a61
Add run_test prompt (#9292)
tagboola Oct 9, 2025
75d279f
Merge branch 'master' into feature-branch/mcp/mobile-testing
Oct 14, 2025
b309807
MCP tool `apptesting_run_test` can create and run a on-off test. (#9321)
jrothfeder Oct 16, 2025
9bbf17a
Merge branch 'master' into feature-branch/mcp/mobile-testing
Oct 16, 2025
973e8d7
Use the same default device that's used in the Console (#9320)
tagboola Oct 16, 2025
82e1724
Update prompt to support generating a test case when there is no test…
tagboola Oct 16, 2025
c081d6d
Merge branch 'master' into feature-branch/mcp/mobile-testing
tagboola Oct 23, 2025
380b001
Add custom auto-enablement for app testing (#9373)
tagboola Oct 23, 2025
8a95353
Add get devices tool (#9387)
tagboola Oct 28, 2025
7356c41
Display link to results in the Firebase Console (#9406)
tagboola Oct 29, 2025
32c5a93
Merge branch 'master' into feature-branch/mcp/mobile-testing
tagboola Oct 30, 2025
7f94828
Place app testing tools behind an experiment
tagboola Oct 30, 2025
cb9c42b
Address GCA comments
tagboola Oct 30, 2025
81a2734
Explicitly set default devices
tagboola Oct 31, 2025
0bc8208
Address PR comments
tagboola Nov 7, 2025
d642542
Merge branch 'master' into feature-branch/mcp/mobile-testing
jrothfeder Nov 7, 2025
9877ee5
Fix the status URL. (#9438)
jrothfeder Nov 7, 2025
1c4631d
Add a tool to export tests to a file.
Nov 7, 2025
f34e992
Merge branch 'master' into serizlize
Nov 7, 2025
a1de3cd
Remove merge conflict markers.
Nov 10, 2025
6d6b1a9
Simplify conversion of testcases to yaml.
Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/appdistribution/yaml_helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ function extractIdFromResourceName(name: string): string {
function toYamlTestCases(testCases: TestCase[]): YamlTestCase[] {
return testCases.map((testCase) => ({
displayName: testCase.displayName,
id: extractIdFromResourceName(testCase.name!), // resource name is retured by server
...(testCase.name && {
id: extractIdFromResourceName(testCase.name!), // resource name is retured by server
}),
...(testCase.prerequisiteTestCase && {
prerequisiteTestCaseId: extractIdFromResourceName(testCase.prerequisiteTestCase),
}),
Expand Down
4 changes: 2 additions & 2 deletions src/mcp/tools/apptesting/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { isEnabled } from "../../../experiments";
import type { ServerTool } from "../../tool";
import { check_status, run_tests } from "./tests";
import { check_status, run_tests, testcase_export } from "./tests";

export const apptestingTools: ServerTool[] = [];

if (isEnabled("mcpalpha")) {
apptestingTools.push(...[run_tests, check_status]);
apptestingTools.push(...[run_tests, check_status, testcase_export]);
}
36 changes: 36 additions & 0 deletions src/mcp/tools/apptesting/tests.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { z } from "zod";
<<<<<<< HEAD

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 2 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.
import * as fs from "fs-extra";
import { ApplicationIdSchema } from "../../../crashlytics/filters";
import { upload, Distribution } from "../../../appdistribution/distribution";
import { toYaml } from "../../../appdistribution/yaml_helper";
=======

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 7 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.
import { ApplicationIdSchema } from "../../../crashlytics/filters";
import { upload, Distribution } from "../../../appdistribution/distribution";
>>>>>>> master

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 10 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

import { tool } from "../../tool";
import { toContent } from "../../util";
Expand Down Expand Up @@ -74,6 +81,35 @@
},
);

<<<<<<< HEAD

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 84 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.
export const testcase_export = tool(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if we want to create a new tool for this. In general, the CLI team is trying to reduce the number of tools in the Firebase MCP server, which is why I ended up combining the check_tests and get_devices tools in the previous PR.

"apptesting",
{
name: "testcase_export",
description: "Use this to export a testcases to a file.",
inputSchema: z.object({
outputFile: z.string().describe("The path to the file."),
testCases: z.array(
z.object({
displayName: z.string(),
aiInstructions: z.object({
steps: z.array(AIStepSchema),
}),
}),
),
}),
annotations: {
title: "Export testcases to a file.",
readOnlyHint: false,
},
},
async ({ outputFile, testCases }) => {
return toContent(fs.writeFileSync(outputFile, toYaml(testCases), "utf8"));
},
);

=======

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 111 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.
>>>>>>> master

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (20)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / vscode_unit (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / agent_evals_build (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (22)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (20)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / check-json-schema (20)

Merge conflict marker encountered.

Check failure on line 112 in src/mcp/tools/apptesting/tests.ts

View workflow job for this annotation

GitHub Actions / unit (22)

Merge conflict marker encountered.
export const check_status = tool(
"apptesting",
{
Expand Down
Loading