Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7b9e146
WIP
Dec 16, 2025
ae07bd4
WIP
Dec 16, 2025
fb8b5ae
WIP
Dec 16, 2025
efbdf28
Update src/apptesting/parseTestFiles.ts
jrothfeder Dec 16, 2025
e5654a8
Apply suggestion from @gemini-code-assist[bot]
jrothfeder Dec 16, 2025
ad7d56d
Merge branch 'main' into test-schema
jrothfeder Dec 16, 2025
1b7d6a4
Remove accidently committed test directory.
Dec 16, 2025
ff27bfe
Fix ordering of params.
Dec 16, 2025
87a08e6
Remove MATA experiment and instead roll this functionality under exis…
Dec 16, 2025
463ad1e
Merge branch 'main' into test-schema
jrothfeder Dec 16, 2025
8ebaa0d
Merge branch 'main' into test-schema
jrothfeder Dec 17, 2025
d36742e
Merge branch 'main' into test-schema
jrothfeder Dec 18, 2025
df382b6
Add support to specify devices.
Dec 18, 2025
4b7de39
Add support for prerequisite tests (#9651)
tagboola Dec 19, 2025
c7a866e
Merge branch 'main' into test-schema
jrothfeder Jan 5, 2026
5a8d85a
Merge branch 'main' into test-schema
jrothfeder Jan 7, 2026
1742f5a
Rename apptesting:mobile-execute to apptesting:execute.
Jan 12, 2026
871307d
PR feedback: Rename testName to displayName and remove extra instruct…
Jan 15, 2026
704c930
Merge branch 'main' into test-schema
jrothfeder Jan 15, 2026
79ba0d7
Minor PR feedback.
Jan 16, 2026
a8e1c81
Merge branch 'test-schema' of github.com:firebase/firebase-tools into…
Jan 16, 2026
9ff4cc8
Merge branch 'main' into test-schema
jrothfeder Jan 16, 2026
7bf58f6
Pass the displayName to the API.
Jan 16, 2026
9206add
Merge branch 'test-schema' of github.com:firebase/firebase-tools into…
Jan 16, 2026
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
2 changes: 2 additions & 0 deletions src/appdistribution/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@

try {
await this.appDistroV1Client.post(`/${releaseName}:distribute`, data);
} catch (err: any) {

Check warning on line 118 in src/appdistribution/client.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Unexpected any. Specify a different type
let errorMessage = getErrMsg(err);
const errorStatus = err?.context?.body?.error?.status;

Check warning on line 120 in src/appdistribution/client.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Unsafe member access .context on an `any` value

Check warning on line 120 in src/appdistribution/client.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Unsafe assignment of an `any` value
if (errorStatus === "FAILED_PRECONDITION") {
errorMessage = "invalid testers";
} else if (errorStatus === "INVALID_ARGUMENT") {
Expand Down Expand Up @@ -279,6 +279,7 @@
aiInstruction?: AIInstruction,
loginCredential?: LoginCredential,
testCaseName?: string,
displayName?: string,
): Promise<ReleaseTest> {
try {
const response = await this.appDistroV1AlphaClient.request<ReleaseTest, ReleaseTest>({
Expand All @@ -289,6 +290,7 @@
loginCredential,
testCase: testCaseName,
aiInstructions: aiInstruction,
displayName: displayName,
},
});
return response.body;
Expand Down
1 change: 1 addition & 0 deletions src/appdistribution/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ export interface ReleaseTest {
loginCredential?: LoginCredential;
testCase?: string;
aiInstructions?: AIInstruction;
displayName?: string;
}

export interface AIInstruction {
Expand Down
32 changes: 14 additions & 18 deletions src/apptesting/invokeTests.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
.post(
`/v1alpha/projects/${projectNumber}/apps/${appId}/testInvocations:invokeTestCases`,
(r) => {
requestBody = r;

Check warning on line 39 in src/apptesting/invokeTests.spec.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Unsafe assignment of an `any` value
return true;
},
)
Expand All @@ -47,15 +47,15 @@
testCase: {
startUri: "https://www.example.com",
displayName: "testName1",
instructions: { steps: [{ goal: "test this app", hint: "try clicking the button" }] },
steps: [{ goal: "test this app", hint: "try clicking the button" }],
},
testExecution: [{ config: { browser: Browser.CHROME } }],
},
{
testCase: {
startUri: "https://www.example.com",
displayName: "testName2",
instructions: { steps: [{ goal: "retest it", successCriteria: "a dialog appears" }] },
steps: [{ goal: "retest it", successCriteria: "a dialog appears" }],
},
testExecution: [{ config: { browser: Browser.CHROME } }],
},
Expand All @@ -67,14 +67,12 @@
{
testCase: {
displayName: "testName1",
instructions: {
steps: [
{
goal: "test this app",
hint: "try clicking the button",
},
],
},
steps: [
{
goal: "test this app",
hint: "try clicking the button",
},
],
startUri: "https://www.example.com",
},
testExecution: [
Expand All @@ -88,14 +86,12 @@
{
testCase: {
displayName: "testName2",
instructions: {
steps: [
{
goal: "retest it",
successCriteria: "a dialog appears",
},
],
},
steps: [
{
goal: "retest it",
successCriteria: "a dialog appears",
},
],
startUri: "https://www.example.com",
},
testExecution: [
Expand Down Expand Up @@ -129,11 +125,11 @@
});

it("calls poll callback with metadata on each poll", async () => {
const pollResponses: { [k: string]: any }[] = [];

Check warning on line 128 in src/apptesting/invokeTests.spec.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Unexpected any. Specify a different type
await pollInvocationStatus(
operationName,
(op) => {
pollResponses.push(op.metadata!);

Check warning on line 132 in src/apptesting/invokeTests.spec.ts

View workflow job for this annotation

GitHub Actions / lint (20)

Forbidden non-null assertion
},
/* backoff= */ 1,
);
Expand Down
Loading
Loading