When our team makes changes to a component in the framework, we want to make sure those changes don’t inadvertently mess up components elsewhere. So, we built a solution for ourselves: Snapshot. Snapshot has been an incredibly valuable tool for tracking all our changes, and we wanted to share how we use it to ensure that Ionic is thoroughly tested to prevent breaking your apps!
What is Snapshot, Anyway?
Snapshot is an internal tool that runs end-to-end tests and takes a screenshot for every command. Each time the tool runs, the Snapshot is assigned a unique ID, which is associated with all of the screenshots taken. Upon completion of the task, the screenshots are uploaded to a server where they can be viewed.
Snapshot uses Protractor to run the commands for each end-to-end test. Protractor is an end-to-end testing tool used by the Angular team to test their apps, and we’re able to use it with Snapshot to visually represent the end-to-end tests. Pretty neat, right?