maestro icon indicating copy to clipboard operation
maestro copied to clipboard

Local Sequential Execution Issue when combining flow name and tags - v1.29.0

Open simon-gilmurray opened this issue 2 years ago • 2 comments
trafficstars

Describe the bug When using Sequential Execution running test locally, if you supply a tag via includeTag and also a flow name (which has the included Tag inside the flow) it doesn't run that flow and instead returns with No flow returned from the tag filter used

Example config:

# Maestro config
includeTags:
   - smoke
excludeTags:
   - onboarding
   - full_smoke
   - loggedin_smoke
executionOrder:
  continueOnFailure: true
  flowsOrder:
    - login_smoke
    - home_smoke

When calling my folder to run, it's not running any flows using the above - however when I comment out my includeTags/excludeTags it runs the flows fine. My login_smoke has the tags - smoke and - login

Expected behavior Flows should be executed using the given includeTags and run in order provided by executionOrder.

This worked fine previously using the tags and deterministicOrdering.

Environment information (please complete the following information):

  • Maestro version v1.29.0
  • Platform: Android
  • Framework: Native
  • Device model and OS version: -
  • Simulator, emulator or physical device: -
  • Host: Mac

simon-gilmurray avatar Jun 22 '23 15:06 simon-gilmurray

@axelniklasson FYI

simon-gilmurray avatar Jun 22 '23 15:06 simon-gilmurray

I'm experiencing this issue with local sequential execution, when I combine both an include & exclude tags on Maestro v1.35.0.

Given the following workspace example:

android/
|- config.yaml
|- folderA/
|   |- androidFlow1.yaml (tags: - include)
|   |- androidFlow2.yaml (tags: - include)
|   |- androidFlow3.yaml (tags: - include)
|   |- androidFlow4.yaml (tags: - include)
|- folderB/
|   |- androidFlow5.yaml (tags: - include)
|   |- androidFlow6.yaml (tags: - include)
|   |- androidFlow7.yaml (tags: - include)
|   |- androidFlow8.yaml (tags: - exclude)
# config.yaml
flows:
  - "folderA/*"
  - "folderB/*"
includeTags:
  - include
excludeTags:
  - exclude
executionOrder:
  continueOnFailure: true
  flowsOrder:
    - androidFlow1
    - androidFlow2
    - androidFlow3
    - androidFlow4
    - androidFlow5
    - androidFlow6
    - androidFlow7
    - androidFlow8

When running the following command: maestro test --include-tags=include --exclude-tags=exclude android

Then the flows run in this incorrect example order:

    - androidFlow1
    - androidFlow4
    - androidFlow3
    - androidFlow2
    - androidFlow6
    - androidFlow5
    - androidFlow7

DavidREntwistle avatar Jan 29 '24 13:01 DavidREntwistle