0.2.9 • Published 9 years ago
tinto v0.2.9
Tinto
A functional testing framework for component-based web applications
Usage
Installation
$ npm install --save-dev tintoConfiguration
Tinto is configured from an optional tinto.conf.js file that should be placed in your project root. It should export the configuration object directly.
Options
- includeStack: Whether or not to include a stack trace in assertion error messages.
- bundles: An array of bundle names or bundle instances to load.
- browser: Which browser to use. See the WebDriver documentation for the list of supported browsers.
Defaults
{
includeStack: false,
bundles: [],
browser: 'firefox'
}Assertions syntax
Components
Property assertion
searchButton.should.have.text('Search');Property assertion (alternate syntax)
searchButton.text.should.equal('Search');State assertion
searchButton.should.be.enabled;Count assertion
grid.should.have(3).rows;Equality assertion
grid.rows(0).should.equal(firstRow);Containing assertion
grid.should.contain(firstRow, secondRow);Multiple assertions
searchButton.should.have.text('Search').and.be.enabled;Multiple assertions (alternate syntax)
searchButton.should(
have.text('Search'),
be.enabled
);Awaiting assertion
searchButton.should.eventually.have.text('Search').and.be.enabled;Awaiting assertion (alternate syntax)
searchButton.should.eventually(
have.text('Search'),
be.enabled
);Component definition
ES5
function Grid() {
Component.apply(this, arguments);
this.getter('rows', function() {
return this.find('tr');
});
}
tinto.inherits(Grid, Component);ES6
class Grid extends Component {
get rows() {
return this.find('tr');
}
}.extend
var Grid = Component.extend({
get rows() {
return this.find('tr');
}
});Command-line interface
In order to use the CLI, you must install tinto globally. You can then run tinto --help to list available commands.
Examples
See the example folder for a complete example.
License
Credits
This project was inspired by the excellent Testatoo functional testing library for Java.