rails system test, save failed screenshots

sugiarto - Sep 24 - - Dev Community

When setting up github actions for running system tests, it is sometimes difficult to know or debug when several tests fail to run but are running well locally.

So why don't you just save the failed screenshots so we know what the actual error was during the test?

First, we need to change the Rails config, so errors will appear in the browser just like what we get when running locally in development mode.

# config/environments/test.rb

config.consider_all_requests_local = true
Enter fullscreen mode Exit fullscreen mode

To save screenshots, we can upload the screenshots to artifacts. Uploads steps only will be performed if the system test fails to run.

      - name: Run system test
        run: bundle exec rails test:system
      - name: Upload screenshots
        uses: actions/upload-artifact@v4
        if: failure()
        with:
          name: screenshots
          path: tmp/screenshots
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . .