A simple and stable cross-browser testing tool.
Latest stable version: v2.0 Change Log
- Run in real browsers
- Support all test frameworks
- Auto testing coverage
- Robust enough for actual combat
>= 0.10.12
$ npm install totoro -g
If it not works, you may add sudo
before the command, as follows.
To get the latest function (may not be stable)
$ git clone https://github.com/totorojs/totoro && cd totoro
$ npm install -g
For simplicity, we have already prepared an example for you:
$ totoro config --host={{totoroServerHost}}
For now the default test server is internal for Alibaba group only, you can launch your own server.
We are planning to supply a public service, hmm...
$ git clone https://github.com/totorojs/totoro && cd totoro/examples/simple
$ totoro
Then you should see a output as shown below:
- If all test cases passed, will report in green color, or will report in red color with detailed error message.
- Every browser supplies it's own run time and testing coverage (if your test has source code, and
totoro
can recognize).
Generally, if your test is a local file and the directory structure of your project is as bellow, you can run totoro
without any config.
project-dir/
dist/
src/ or lib/
tests/ or test/
runner.html or index.html
All options are optional.
Test runner. Accept local file and URL.
Default: auto search in the CWD, runner.html
or index.html
in subdirectory test/
or tests/
could be recognized.
A convenient way to debug. Accept single JS expression, local file or URL. totoro will return the calculated value of expression or all output of console.log() in JS file. For example:
$ totoro --code document.body
$ totoro --code "console.log(document.body)"
$ totoro --code examples/code/code.js // this file already exists, try it!
Be mind that --code
and --runner
are mutually exclusive!
Specify a comman-delimited list of app names, typically be browsers. For example:
chrome,firefox,safari,ie //just specify browser names
ie/6,ie/7,ie/8,ie/9 //specify browser names and versions
Default: all available desktop browsers.
Test framework's adapter, used to send report to server. Accept built-in keywords, local file and URL.
Built-in keywords: mocha
, jasmine
.
If specifies no
, totoro won't try to detect and insert any adapter, it's thought that user handle it by themself.
It is very easy to write an adapter for custom test framework, you could refer to static/adapters/mocha.js.
Default: if --runner
is local file, totoro
will see if there is totoro-adapter.js
in the same directory , if not found or --runner
is URL, totoro-server will try to find out matched keyword according to --runner
content.
Specifies charset.
Default: 'utf8'
Specifies the client timeout in minutes.
Default: 5
If assign a local file to --runner
, totoro
need to launch a temporary HTTP server for testing, --root
is the root of this server.
Default: if necessary, guess a path according to --runner
and --adapter
.
totoro-server host.
Default: internal server host for Alibaba group.
totoro-server port.
Default: 9999
Won't convert the runner if it is a URL
Default: false
No need testing coverage.
Default: false
Show all available browsers of specified server.
Read or write global config.
$ totoro config
$ totoro config --host=10.15.52.87 --port=''
Above command clear the --port
value.
If you need a config file, just place totoro-config.json
in the CWD.
The priority level of all config ways are: command line > config file > totoro config > default config
Below is an example for config file:
{
"browsers": ["chrome", "ie/10.0"],
"host": "127.0.0.1",
"port": 9999
}
totoro takes it's name from animated fantasy film "My Neighbor Totoro" directed by Hayao Miyazaki.