Skip to content

[FEATURE] Add support for custom properties in the JUnit report files #84

@zcsteele

Description

@zcsteele

Problem Statement

The official Maestro docs covers a map named 'Properties' in the flow configuration section which can be used to define custom properties stored in the JUnit XML report files (https://docs.maestro.dev/maestro-flows/workspace-management/test-reports-and-artifacts#custom-properties). The current implementation of maestro-runner does not process this map, effectively ignoring it during execution.

Proposed Solution

The YAML parser and test report engine should be updated to parse this key from the flow header and include the custom properties in the relevant JUnit report files.

Use Case

For my purposes, I would like to use the 'Properties' map to associate each flow file with a specific test ID in our test tracking system.

Example

sample.yaml:

properties:
  testID: Test-1234
---
- launchApp: com.google.android.deskclock

junit-report.xml:

<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="1" failures="0" skipped="0" errors="0" time="2.074">
  <testsuite name="maestro-runner" tests="1" failures="0" skipped="0" errors="0" time="2.074" timestamp="2026-05-14T12:52:42-07:00">
    <testcase name="demo-runner-junit" classname="demo-runner-junit" time="2.060">
      <properties>
        <property name="file" value="sample.yaml"/>
        <property name="device.name" value="google sdk_gphone64_arm64"/>
        <property name="device.id" value="emulator-5554"/>
        <property name="device.platform" value="android"/>
        <property name="testID" value="Test-1234"/>
      </properties>
    </testcase>
  </testsuite>
</testsuites>

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions