Skip to content

screenshotbot/screenshotbot-gradle-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

071e77e · Nov 20, 2024

History

79 Commits
Sep 20, 2024
Nov 11, 2023
Nov 20, 2024
May 14, 2024
Nov 11, 2023
May 14, 2024
Nov 13, 2023
Nov 20, 2024
Nov 20, 2024
Nov 11, 2023
Nov 11, 2023
Nov 11, 2023
Nov 11, 2023

Repository files navigation

A gradle plugin for Screenshotbot

This is an Open source plugin that integrates popular Android screenshot testing libraries with Screenshotbot.

Currently we support:

Getting started

Including the plugin is pretty straightforward. In your build.gradle, add the following lines

plugins {
  id 'io.screenshotbot.plugin' version '1.22'
}

If you use Paparazzi this will automatically create three new tasks for each of your Parazzi flavors, like so:

recordAndVerifyPaparazziDebugScreenshotbotCI
recordPaparazziDebugScreenshotbot
verifyPaparazziDebugScreenshotbot

The last two tasks are meant to be used by developers while working locally, and does not affect your CI state. You will have to run ./gradlew :installScreenshotbot and follow the instructions to install a key locally. Once installed, we'll use the keys in future runs.

The first task will be run in your CI, in place of simply :verifyPaparazziDebug. Screenshotbot does not require any screenshots to be stored in your repository, we'll run the record step and upload the screenshots to Screenshotbot, and also process information from you CI environment to figure out things like which Pull Request to send notifications on. On CI, you will have to set the SCREENSHOTBOT_API_KEY and SCREENSHOTBOT_API_SECRET environment variables.

Configure Enterprise or OSS Installations

By default, the plugin assumes you are using the installation at https://screenshotbot.io.

If you are Enterprise customer, we give you a custom installation that looks like https://<customer>.screenshotbot.io. Similarly, you might have your own domain for OSS users.

In this case, you might want to set the default domain across all subprojects in your root build.gradle

subprojects {
    plugins.withId('io.screenshotbot.plugin') {
        screenshotbot {
            hostname "https://customer.screenshotbot.io"
        }
    }
}

Footnotes

For Dropshots, we currently require you to pass -Pdropshots.record to each of the Screenshotbot tasks. Once you fully migrate to Screenshotbot, you can just add dropshots.record=true in your gradle.properties. We plan to remove this requirement in the future, but we think it requires some patches pushed to Dropshots.

License

This library is licensed under the Mozilla Public License, v2.

About

A gradle plugin for integration with Screenshotbot

Resources

License

Stars

Watchers

Forks

Packages

No packages published