Skip to content

Conversation

@emmaoke-w
Copy link
Contributor

@emmaoke-w emmaoke-w commented Dec 5, 2025

TaskWPB-21885 [Android] Investigate a way to publish test reports(Add Allure test reporting for Android UIAutomator test suite)


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

Enable generation of Allure result files, screenshots on failure, and proper labeling using existing annotations (@testcaseid, @category).
Integrate Allure with BaseUiTest so all tests generate consistent reports without manual code changes.
Make the report available both locally and on CI.

1. Allure Reporting Integration

Integrated Allure Android JUnit4.

Added necessary Gradle dependencies and assets (allure.properties).

Added custom AllureAndroidJUnitRunner (via our TaggedTestRunner).

2. Readable, Structured Test Steps

Introduced the step("...") { } DSL for all major parts of the test flow.

Updated GroupCallChat test to use clear, human-readable steps.

Steps now appear in Allure as a timeline of the test execution.

3. Automatic Screenshot on Failure

Added screenshot capturing inside the custom JUnit runner.

Failure screenshots now appear inside Allure under the failed test.

4. Logcat Capture on Failure

Implemented AllureLogcatRule:

Captures the last N lines of logcat (default 300).

Attaches them as logcat.txt to the failed test in Allure.

Automatically clears logcat after each test to keep logs small.

5. Custom Tagged Test Filter

Extended TaggedFilter to allow filtering by:

testCaseId

category

tagKey / tagValue

Added suppressions to keep implementation clean without breaking behavior.

6. Documentation

Added README for:

How to run tests with filtering.

How to generate Allure reports.

Issues

Briefly describe the issue you have solved or implemented with this pull request. If the PR contains multiple issues, use a bullet list.

Causes (Optional)

Briefly describe the causes behind the issues. This could be helpful to understand the adopted solutions behind some nasty bugs or complex issues.

Solutions

Briefly describe the solutions you have implemented for the issues explained above.

Dependencies (Optional)

If there are some other pull requests related to this one (e.g. new releases of frameworks), specify them here.

Needs releases with:

  • GitHub link to other pull request

Testing

Test Coverage (Optional)

  • I have added automated test to this contribution

How to Test

Briefly describe how this change was tested and if applicable the exact steps taken to verify that it works as expected.

Notes (Optional)

Specify here any other facts that you think are important for this issue.

Attachments (Optional)

Attachments like images, videos, etc. (drag and drop in the text box)

image image image

PR Post Submission Checklist for internal contributors (Optional)

  • Wire's Github Workflow has automatically linked the PR to a JIRA issue

PR Post Merge Checklist for internal contributors

  • If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

References
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

@pull-request-size pull-request-size bot added size/XL and removed size/L labels Dec 5, 2025
@pull-request-size
Copy link

Ups 🫰🟨

This PR is too big. Please try to break it up into smaller PRs.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 5, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants