Link to failed test screenshot in Test Details Modal
Problem to Solve
Sasha and the team have worked to create browser tests using Selenium and Webdriver.io. Today those tests capture a screenshot as an artifact at failure to help troubleshoot the test issue. Sasha has to dig through the logs and screenshots stored as artifacts to find the failures which takes too long and is done outside of the GitLab UI.
Intended users
- Sasha
- QE/SDET
Further details
This is the first iteration of this larger feature.
Proposal
Product proposal
-
Create a new tab on the pipeline page called screenshots.- In favor of a simpler MVP there will be a new entry on the details modal. - Display the attachment name associated with the failed test and a link to the attachment.
-
Add tracking to capture page views of the tab so we can measure success of the feature.Will be done in #258661 (closed)
Technical Proposal
- Edit the test_case_details.vue file to include an attachment URL spot.
- Edit the test_case_details_spec.js file to check that the URL is rendered.
Design
N/A for the MVC the file will be a link to the file.
Permissions and Security
- editing the gitlab-ci.yml should follow project guidelines, this requires no special permissions
- viewing and downloading the data requires no special permissions
Documentation
This will need a new page in the docs to instruct users:
- How to create junit xml that is detected and how to setup artifacts that are discoverable by the feature
- Where to see the report
- How long the artifacts persist
- Common troubleshooting tips if the report fails (like if you need two MRs before the report appears, etc.)
Testing
- test for performance with many (1000's) of screenshots
- test for junit is present but screenshot is missing
What does success look like, and how can we measure that?
We will measure success by tracking views of the screenshots tab. Since this does not yet exist we will establish a baseline at 30 days after launch and iterate towards improvements.
What is the type of buyer?
The buyer for this is a manager who is trying to make life easier for a team who is doing some automated browser testing and having issues with identifying why those tests are failing.