Flux140
... is an offline web application that aims to expedite (and take the pain out of) visual regression testing. Flux140 is a picture viewer that simplifies comparing whole runs of a UI test suite by showing thumbnails of screenshots at a given point in time / build number. These screenshots have to be created in advance. We use our continuous integration server (Jenkins) and Selenium for that.
Created by IT:Agenten and published under the permissive MIT license. We of course welcome all contributions, be it bug reports or code. If you don't have an CI stack running and have some money to spare, IT:Agenten Gmbh is glad to help you out. Also, we are planning a ready-to-use SaaS offering.
Screenshots
Everybody loves them.
How to use
After checking out the repo, pull in dependencies using Bower: In the flux140/frontend
directory, issue the command bower install
.
Configure your CI stack (e.g. Jenkins, Selenium) to copy the generated screenshots to a directory like this:
content
├── tree.json
└── Firefox
├── form_new_item
│ ├── 116.png
│ ├── 117.png
│ ├── 118.png
│ └── [...]
└── form_new_item_submitted
├── 116.png
├── 117.png
└── [...]
The screenshot files get their names from the current build number. When using Jenkins the build number is made available to your test scripts in the BUILD_NUMBER
environment variable.
You (or rather your CI stack) will have to create tree.json
using the free tree tool after adding new files:
tree -J -v > tree.js
NOTE: The -J
option for JSON output has not yet been merged into mainline tree, that is, tree v. 1.6.0 does not have it. Steve Baker, the tree author, will merge the changes in when he finds time. In the meantime, use our version.
Shout-outs to our fellow open sorcerers
The application has been created using
- Yeoman,
- Bower,
- Backbone.js,
- Require.JS,
- Tree,
- jQuery,
- jQuery UI slider plugin,
- jQuery UI KnobKnob plugin
... using Vim on Ubuntu. Thanks to all of you folks! Long live open source!