AliOz
AliOz

Reputation: 485

How to generate allure reports directly into a dashboard instead of generating them locally?

I am working with Appium, and I am exploring test reporting tools to integrate them with my project.

Allure report seems to be a good fit for some reasons, but my problem is that allure reports are being generated locally and disappear on every new test execution.

I want to have logs of my test reports and to be able to access old reports whenever I want, something like Cypress Dashboard.

I wonder if there's an allure dashboard like this https://presidenten.github.io/wdio-video-reporter-example-report/#. My vision is to integrate my android test cases with Bitbucket pipelines and have a look at the results, failed test cases, and videos after successful execution.

If not, is there any other test reporting tool that can be integrated with appium and supports what I have talked about above?

Upvotes: 4

Views: 941

Answers (2)

Dmitry Baev
Dmitry Baev

Reputation: 2743

To integrate Allure reports into a dashboard, you can consider these options:

  1. Bamboo Integration Integrates Allure reporting directly into Bamboo CI/CD pipelines.

    • Pros: Seamlessly integrates into Bamboo; generates reports per build automatically.
    • Cons: Limited to Bamboo users; requires CI access to view reports.
  2. Dockerized Allure Service
    Hosts Allure reports as a containerized service for flexibility and scalability.

    • Pros: Free, self-hosted; scalable across environments.
    • Cons: Requires maintenance from your team; additional setup and infrastructure management.
  3. Custom Hosting
    Allure reports are static HTML, so they can be hosted on any static site host (e.g., S3, GitHub Pages) with full customization.

    • Pros: Full control over customization; easily integrated with existing dashboards.
    • Cons: Requires development effort; setup and updates are manual.
  4. Allure TestOps Paid offering from Allure Team. Provides improved analytics & real-time reporting features.

    • Pros: Centralized access; secure; designed for enterprise use; suitable for non-technical users and management. Easy to integrate for existing Allure Report users.
    • Cons: Paid service; may include additional features that could add complexity.

Upvotes: 0

jamesmortensen
jamesmortensen

Reputation: 34048

We use GitHub Actions to execute test cases and produce an Allure report. The allure report is then rsynced to a server hosted in the cloud where our IT department setup a file hosting platform they modified to also render the reports using a web server. They put a Google Account login form in front of it that only allows users using our Google Workspace domains to login and view the reports.

We then take the raw test data and write it to a Google Sheet, along with a link to the report. This shows us years worth of data and reports.

You could achieve a lightweight version of this using GitHub Pages, as you've referenced in your question. What makes this really achievable is how you can easily add reports via the git client by following a modified version of the instructions to create a GitHub Page.

To avoid overwriting the report after every run, you'd need to use some form of counter or uniqueId as the report folder name. We simply use a date timestamp in the folder name, which also becomes part of the URL.

Instead of https://presidenten.github.io/wdio-video-reporter-example-report/ we would have the following (See the dates in the URL examples. Note that URLs are fake and as an example only):

You could also generate an index.html landing page where, each time a report is generated and pushed to GitHub pages, you add the URL to a JSON file or some data file that the index.html page can read from in order to list all of the reports.

It would not be as secure as our internal solution. It would be open to the world like presidenten.github.io, but it would be a great first start to achieve what you're trying to achieve.

Upvotes: 1

Related Questions