{"_id":"totoro-server","_rev":"82-e5368a156e5224783cbcdd4af2d1c8a4","name":"totoro-server","description":"Server side of totoro.","dist-tags":{"latest":"2.0.3"},"versions":{"0.1.6":{"name":"totoro-server","version":"0.1.6","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.8.17"},"dependencies":{"commander":"~1.1.1","async":"~0.2.7","express":"~3.1.0","socket.io":"~0.9.14","socket.io-client":"~0.9.11","useragent":"~2.0.3","colorful":"~2.0.2","hogan.js":"~2.0.0","totoro-log":"~0.1.0","when":"~2.0.1","iconv-lite":"~0.2.8","request":"~2.21.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-jshint":"~0.3.0"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"_id":"totoro-server@0.1.6","dist":{"shasum":"d822bbbe9a22128d6708e60b7f4c4830ad8a7969","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.1.6.tgz","integrity":"sha512-M5SqENBtcC6htOLRfIc/tXxzy/WCwcze99KRoMk8/Tf1d63h9MUhEZj6ITQKUTWCZSeqb9pwZ8Stox4BcbsjaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjR8j0fJdjupFUbrHN9g5WcMFTayQVI6pDtxNilGISaAIhAIWlamE5UXeRZ+QS8qpj8XEFHAvzJhzLfvok68Ns7K2s"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.2.0":{"name":"totoro-server","version":"0.2.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.8.17"},"dependencies":{"commander":"~1.1.1","async":"~0.2.7","express":"~3.1.0","socket.io":"~0.9.14","useragent":"~2.0.3","colorful":"~2.0.2","totoro-log":"~0.1.2","totoro-common":"~0.1.0","when":"~2.0.1","iconv-lite":"~0.2.8","request":"~2.21.0","semver":"~1.1.4"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-jshint":"~0.3.0"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.2.0","dist":{"shasum":"1be80e139a97620a324e35200cca4516cb6ecfb2","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.2.0.tgz","integrity":"sha512-1cqD8A93x2TiGm4r9nYp+H57t/hcvxs5u8OH1MEyXZWawWb/Pj6qKfYzqpkFMFx0bdey3dEL4OXzrGaA26jKGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/UqtqtEb3HykI5Pjx9a/i/sf6OmN/W473WN2Cm/pPHAiEA1T5ok0+VshK4Ab/QcbhYNlE2XjksPSUSA7aXCVL3FZ8="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.2.1":{"name":"totoro-server","version":"0.2.1","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.8.17"},"dependencies":{"commander":"~1.1.1","async":"~0.2.7","express":"~3.1.0","socket.io":"~0.9.14","useragent":"~2.0.3","colorful":"~2.0.2","totoro-log":"~0.1.2","totoro-common":"~0.1.0","when":"~2.0.1","iconv-lite":"~0.2.8","request":"~2.21.0","semver":"~1.1.4"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-jshint":"~0.3.0"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.2.1","dist":{"shasum":"43c374a148d1ed5d5c5a6f4b4bddd5175280fd1b","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.2.1.tgz","integrity":"sha512-0hOPvIIgBleKC806dZEGNDDZ7bi8lXAYKbo8RNV4/sjwUAxasNjmb/O+w/6PwK9Ym0VHURKZ5uAGoGJ0Nmj3OA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDup+D2wQFtNfDpuE1lcYe8rnBk3Ciu6LgAjckSEGEWVAiBvQKkMgT/dd8Ux9K7ZJLGneNBuY3g89/JwwhNsQL/q/Q=="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.2.2":{"name":"totoro-server","version":"0.2.2","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":"0.8.17 - 0.10.7"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","useragent":"2.0.3","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.1","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","semver":"1.1.4"},"devDependencies":{"grunt":"0.4.1","grunt-contrib-jshint":"0.3.0"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.2.2","dist":{"shasum":"ac761e4aa8b433f3d6559c56a80da6122607c87d","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.2.2.tgz","integrity":"sha512-wwnw8cVEZs8s3CKebvV9JoV/q0r4rbIgPX5Ix56DyM3Dpza04lZgbpJcYgcCA5KLikp7eTG6O4XdtIu+xC0zvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuxwvvdB31TGY/alQi8eOmdrHqrBNbpG6WOi/LojQv4AiEAwkpSiwGHrpSBT6AVB9jqxWIaxqqQvHDSrsfh9bzBCEo="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.0":{"name":"totoro-server","version":"0.3.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.0","dist":{"shasum":"13a0e3e8cb395e85f9fc024d50ae49caba052117","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.0.tgz","integrity":"sha512-FOK7Q54YReKMojgtX1CjswNwbzukZ/MMrxE26Sx02nWRODDweKn3BkYvKFDEOZL7oIt2hal/fjjXZkaYdLgRsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHp5pIRJERiYn3ptPD1wuVEeqWGCT+0/toYvYoDR+FWHAiEAh5XzNXsNkmQ/NeOXamub8ZKl3Ooxu9ewYDhk88/hn4g="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.1":{"name":"totoro-server","version":"0.3.1","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.1","dist":{"shasum":"668b290ec0b741b7e1d1ddf06331cddcd7f00d07","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.1.tgz","integrity":"sha512-ets7FggkLDK+hntWeY8oPW5eg5sTtbDsbXEYxApVgr8iwVE8A9hrxdIyTq9GKKYsVGa0V41KK7o2D7iJxE1vJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF8eDZr327d5sUx57Ub3i4OD46EjW1B+qk3dkKvJwX6jAiEAv2n6BNpxLS9HVk4vjSj6QKk779xi5+dH2C51TKA4NOE="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.2":{"name":"totoro-server","version":"0.3.2","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.2","dist":{"shasum":"973b26e772030c7bef1d6652dcce6f0eba44c3b8","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.2.tgz","integrity":"sha512-jXFfP9am9YsGvG7DylQ6iClbrNa/qF17dB2nkl50rzXiIn0dayC2ViA2ymReNa81eg5iDJNdWfV7aF8hCDPWLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoBzXLCOa+t4QB83LtMQXH+Ly4bAWk/I3mj5vmP9rfaQIhAIcew6QxPQnE2Zs7ioSaZpU2uOFMr+RyVi+hJGqCL7mj"}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.3":{"name":"totoro-server","version":"0.3.3","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.3","dist":{"shasum":"12575a8db59c82210a51da7f9ab76a00b2c0ec2d","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.3.tgz","integrity":"sha512-yQvcTlVrIG4EOlNKVIwf1KTIB74HQ/+kgHbudMaeXPORRvnWR5+Zmz8WV+Do2LrcEgI52yKea635DehT7xP3+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPjfOEvnzmi3bH47QuoCy2yyWZuP6qOOwYNt2EFcjdwQIgT9x3KYHF/MOKe+lRw9irMkCgYWpUfkoGcbwJZsMYHcc="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.4":{"name":"totoro-server","version":"0.3.4","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.4","dist":{"shasum":"2c101f258eb37ac263f9ccbb7e3299f8c9c4f595","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.4.tgz","integrity":"sha512-ZDa5xOUM5IP1MlWwLh87CzMbLJkIsoUNF4mJSrNvH2j+a6zUvyffoM52qsrZbyd9bxzrLKuWxFYwsDrhEf02IQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH1ElYRFmtl77NZhcQ92klUvfIYqCrWS/w92dhBW0yZAiEAmUfqgb4GBXl5KdYw/45rB05bpAjIoI3PZH4ljWdgH/4="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"directories":{}},"0.3.5":{"name":"totoro-server","version":"0.3.5","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"contributors":[{"name":"fool2fish","email":"fool2fish@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-log":"0.1.2","totoro-common":"0.1.2","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","mongoose":"3.6.15","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"~0.2.2","grunt-mocha-test":"~0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"*","expect.js":"*","sinon":"*","shelljs":"*"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"main":"./lib/server","bin":{"totoro-server":"./bin/totoro-server"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.3.5","dist":{"shasum":"62efe5ce5b54e751836130988157445a14737e94","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.3.5.tgz","integrity":"sha512-FV9++HAaKpSvg+O55y/X+3qogaPWVSDzDfSUFIAS56FrgqICeHw2NyN3X/pnBs//4sJLgKA9fOBXhBG2GR2lZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2yEExhW2z3HpnBxd6KzKkODa3lZKRrm5VtgrjZhDMxAIhALHQD4I/fRP+Xc6dLaULnReVUcKEbA0Is4JHmmORK2zF"}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}]},"0.4.0":{"name":"totoro-server","version":"0.4.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-logger":"0.1.4","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.4.0","dist":{"shasum":"1b6135380ce54f2b2b3d2546d763a01d1fe413ce","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.4.0.tgz","integrity":"sha512-hwPMbUexy/Aa6jRfXVjX05C7aQ2Q3x5sZKGAlKbQSsBDl0VeDz1zNNUA9xen6s9GW3qhg84X2FxCglq2LgEYfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKL4heODIY3suG1Xz5hJw2MbPLUXSvHYY1icfrlC480QIhALbcJZH9ew+C9d1imV5O7dtzK8PiXpLMTD05vDcYi5G4"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}]},"0.4.1":{"name":"totoro-server","version":"0.4.1","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","async":"0.2.7","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","totoro-logger":"0.1.4","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7","dateformat":"1.0.6-1.2.3"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.4.1","dist":{"shasum":"bda6a119c47169978224700fd54368c5fb8ed02a","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.4.1.tgz","integrity":"sha512-MAZ0py7Es2vRCDQ3ywbmdMhRqsRHksnpjD/6KRWrnv5zUEi307eEJWI+qv9L1m4y0YgupjrEvD5IF9tdpHQ6ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEdECFRgjBD6iru1oi96XVr6LQerwNZrXpGEECgR9vJlAiBCDQhO2fSlqhkyToqpcO2Tso0Dyd1aPDOF4Wy+vjN+Eg=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}]},"0.5.0":{"name":"totoro-server","version":"0.5.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.5.0","dist":{"shasum":"19ce103f50373de83e743789f9237c3f9156b612","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.5.0.tgz","integrity":"sha512-7cViGcNeM+2sk0fH5fA10+8jaBrHajd4dvNd9/mJ/NoJLeeGsNgsKvzHUl/9kckNt0yynEnBSHF6WjOf39bi0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCENQ5AwBi4DKa82DpEK7UGxQu6Ca4fULi4EpsZFmlcUwIhALRcJPAhGy/ft+bQFWur+ROTDHCkAZH3SC6zNH6Bujyk"}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"0.5.1":{"name":"totoro-server","version":"0.5.1","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.5.1","dist":{"shasum":"be48ae70383efc155da0317c03a27f8af510bea3","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.5.1.tgz","integrity":"sha512-HGXWcVUbKy5Q4vgh6P7fh/wrtE4iwqi+bGWotuCpuDjyHiI9VyjQjPtuny7AzqMlVaYadJcUbB6/mAdPZOI1HA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA41ifjT5AffLtVevm36iAw3Ue0dTnvqeaxcACCMZh1QAiAprEqTZYWMi28V6GMEHGJsuqqrDxMxO2zmb2Bc1GPmtQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kangpangpang","email":"kangpangpang@gmail.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"0.5.3":{"name":"totoro-server","version":"0.5.3","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.5.3","dist":{"shasum":"ffdce4ad92575b1942ee27435bfb460b0a980769","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.5.3.tgz","integrity":"sha512-AlGqtBETz8i+gh1D9Uxvjw3Ln0LXuTEYgx/Ziey1WPrntkpbAfBPmrPW/Sn5Pv9yk76ZZxR9MLwNrIqKp1ExiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGs9bO0/vuiL5aBjibJ2BB5828L6S+lYC5fso/JapIP8AiEAt9MXEPcYX5Qsluox+BojS3mhzbJAvZ4RPofEaktTX5g="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"0.5.4":{"name":"totoro-server","version":"0.5.4","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","unit test","automation"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@0.5.4","dist":{"shasum":"2c3d3d30cdd38ea0021546b084d7e20c7266cc72","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-0.5.4.tgz","integrity":"sha512-gleZqiSGS78fkl/3UYCnU/RvjJEz+WVAul5erfd8SRo2MS8GFFFAESHaezcfM/jnzuVEhUi6xekRVcPflBrDwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1G+2gCL5cfd0EuhgtqmjN6jufk7I4vfYW2ezArrbLVwIhAMHclL+ojfk8uBa8WxJEImZ6I7rujIgS8O9x8FR9Emk9"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"1.0.0":{"name":"totoro-server","version":"1.0.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","cross-browser","testing","tool","totoro","server"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@1.0.0","dist":{"shasum":"5e744d57dff9d638585ed26ae9ac300b5bd7fce2","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-1.0.0.tgz","integrity":"sha512-E5rnV+acmtWTGWB2uW4doFTyvA2c5eXHhNReinPFdmlfdnUhHjFMmUTT4ahUPjRpOJqfeWkHZMpYY5MSmGjEdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB0vrp3FxbFX/Smaapk+oDIpWccxai3FJ3HA1uEHd49ZAiEAk7AJUDkE4pbro/KcyAx3DCWaubL44OlI20JA4eoZ8uU="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"1.0.2":{"name":"totoro-server","version":"1.0.2","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","cross-browser","testing","tool","totoro","server"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"1.1.1","express":"3.1.0","socket.io":"0.9.14","detector":"1.2.0","colorful":"2.0.2","tracer":"0.6.2","totoro-common":"0.1.4","when":"2.0.1","iconv-lite":"0.2.8","request":"2.21.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@1.0.2","dist":{"shasum":"8279e3659ab4650d12a9d1d3b3b7d697226ce113","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-1.0.2.tgz","integrity":"sha512-6i918Caf6mo93yVhPR/A3/6MyRShnpnw6cypnRGPs0iHe4dc6y7bTatz5Zr1spu8mbEm88w1Biv9IALsMW4qOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOvCX243XD73M5u6bmtFeOruKLK+rOpzxZZFUsrWWF9AiEA7YmR0KZ23DVOKslFdACybOQKBCVpBv7Y6s5UApYU9Pc="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"2.0.0":{"name":"totoro-server","version":"2.0.0","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","cross-browser","testing","tool","totoro","server"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"~2.3.0","utilx":"~0.0.8","colorful":"~2.1.0","express":"~4.9.0","body-parser":"~1.8.2","socket.io":"~1.1.0","detector":"~2.1.1","tracer":"~0.7.3","when":"~3.4.6","iconv-lite":"~0.4.4","request":"~2.44.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@2.0.0","dist":{"shasum":"a32cd3f3f7f3c70a77d2edc692ecdfb06a773821","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-2.0.0.tgz","integrity":"sha512-V+YrpWRrMd/rOzI4rvjAjEOfa8hrbpmX+qrp16RZ1/p0t1NBAlbA24ChkZfkWDPpaK3HIdmfusn7QAEHw7Q+5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChugBJpicUNizi1gKKmmWfV8oP2bEwBKwgM8euYa9z9gIhAOQXmzqrO/KbFWWfxctaMQuE5NNRJrpTRWGNk8WsWdXE"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]},"2.0.3":{"name":"totoro-server","version":"2.0.3","description":"Server side of totoro.","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","cross-browser","testing","tool","totoro","server"],"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"engines":{"node":">= 0.10.12"},"dependencies":{"commander":"~2.3.0","utilx":"~0.0.8","colorful":"~2.1.0","express":"~4.9.0","body-parser":"~1.8.2","socket.io":"~1.1.0","detector":"~2.1.1","tracer":"~0.7.3","when":"~3.4.6","iconv-lite":"~0.4.4","request":"~2.44.0","jscoverage":"0.3.7"},"devDependencies":{"grunt":"0.4.1","grunt-shell":"0.2.2","grunt-mocha-test":"0.6.2","grunt-contrib-jshint":"0.3.0","mocha":"1.12.0","expect.js":"0.2.0","sinon":"1.7.3","shelljs":"0.1.4","rewire":"1.1.3"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"bin":{"totoro-server":"./bin/totoro-server"},"scripts":{"test":"mocha tests/"},"preferGlobal":true,"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"},"_id":"totoro-server@2.0.3","dist":{"shasum":"c85bcee3cb6a53e864579154dcc37467ad142f4d","tarball":"https://registry.npmjs.org/totoro-server/-/totoro-server-2.0.3.tgz","integrity":"sha512-b/Bx77MzcPuAH707lez/Xs9KxdYi2SsYSqz1iQmefh8IIM6MdRNtaSYvRedB95eiOMYdQRo6XuDt9Q83DBBU5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQaR6v7wyMvW1J7GD2xiv4Oq1mLZo/NxIk84aDVM/jvAiAmTvKPa/Fx95wBIFXvpMivONHNwwkFO9P/EI5JxrDbEQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"fool2fish","email":"fool2fish@126.com"},"maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}]}},"readme":"![totoro](https://f.cloud.github.com/assets/340282/891339/657d9018-fa54-11e2-9760-6955388fd8fc.jpg)\n\n# totoro-server\n\nServer side of totoro.\n\nLatest stable version：v2.0\n\n---\n\n## 1. Installation\n\n### Node requirement\n\n\\>= 0.10.12\n\n### Install from npm\n\n```\n$ npm install totoro-server -g\n```\n\nIf it not works, you may add `sudo` before the command, as follows.\n\n### Install from github\n\nTo get the latest function (may not be stable)\n\n```\n$ git clone git@github.com:totorojs/totoro-server.git\n$ cd totoro-server\n$ npm install -g\n```\n\n## 2. Quick Start\n\n1. Launch server.\n\n    ```\n    $ totoro-server\n    ```\n\n    You should see an output like bellow:\n\n    ```\n    Start server <{{yourIP}}:9999>\n    ```\n\n2. Start a driver\n\n    Use any browser to visit {{yourIP}}:9999, then it registers as a **web driver** that can drive the browser of this kind run test.\n\n    If you use it on pc, be mind that allow popup from {{yourIP}}, refer to [popup settings](https://github.com/totorojs/totoro-server/wiki/Popup-Settings.zh).\n\nWant to run some test? See the [quick start of totoro](https://github.com/totorojs/totoro#totoro).\n\n\n## 3. What Is A Driver?\n\nIn a word, a driver is something open specified browser to visit specified URL and close it by directives from server.\n\n### Available drivers\n\n##### Official drivers\n\n- [web driver](http://server.totorojs.org:9999): any browser opens {{yourIP}}:9999 becomes a web driver, it's for temporary use only.\n- [totoro-driver](https://github.com/totorojs/totoro-driver): a stable driver written in node, be able to drive chrome, safari, firefox and ie both on windows and mac.\n\n##### Third party drivers\n\n- [totoro-phantomjs](https://github.com/fengmk2/totoro-phantomjs)\n- [totoro-driver-ios](https://github.com/sorrycc/totoro-driver-ios)\n- [totoro-driver-android](https://github.com/semious/totoro-android)\n\n[Add your driver here](https://github.com/totorojs/totoro-server/issues/new)\n\n### How to write a driver?\n\nIf you know how to open and close a browser(or some other application), it's very very easy to write a driver for it.\n\nAll steps with pseudo-code.\n\n1. Set command line options\n\n    - `-s, --server`: default is `http://server.totorojs.org:9999`\n\n2. Link to server by socket and init.\n\n    ```\n    var socket = socketClient.connect({{server}} + '/__labor')\n    // NOTE: the namespace of socket is '/__labor'\n\n    socket.on('connect', function() {\n      var initInfo = {\n        // if the app you drive is not a browser\n        // group is required, it could be any string you like\n        group: 'groupName',\n        device: { name: 'mac' },\n        os: { name: 'macosx', version: '13.1.0' },\n        agent: { name: 'chrome', version:'35.0.1916.114' }\n      }\n\n      socket.emit('init', initInfo)\n    })\n    ```\n\n3. Open or close specified browser when received corresponding directives.\n\n    ```\n    socket.on('add', function(data) {\n      /*\n       * structure of data\n       * {\n       *   orderId: {{orderId}},\n       *   laborId: {{laborId}},\n       *   laborTrait: {{labor trait info, the same as init info}},\n       *   runner: {{test runner, typically be a url}}\n       * }\n       */\n      var key = data.orderId + '-' + data.laborId\n      orders[key] = open(runner)\n    })\n\n    socket.on('remove', function(data) {\n      // the data structure is the same as 'add' event's but without the laborTrait\n      var key = data.orderId + '-' + data.laborId\n      close(orders[key])\n      ;delete orders[key]\n    })\n    ```\n\n4. Close all browsers when dirver exits.\n\n\n## 4. Cli Options\n\n#### -H, --host\n\nServer host。\n\nDefault: IP of this computer.\n\n#### -P, --port\n\nServer port。\n\nDefault: 9999\n\n#### -d, --debug\n\nShow debug log.\n\nDefault: false\n\n## 5. Config File\n\nIf you need a config file, just place `totoro-srever-config.json` in the CWD, all options are written in lower camel case.\n\n## Data flow\n\n![1](http://uml.mvnsearch.org/gist/dd566fc963f1863d82e2)\n","maintainers":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"},{"name":"fool2fish","email":"fool2fish@126.com"}],"time":{"modified":"2022-06-27T18:59:31.796Z","created":"2013-05-14T07:15:01.744Z","0.1.6":"2013-05-14T07:15:07.966Z","0.2.0":"2013-06-01T06:24:09.556Z","0.2.1":"2013-06-01T06:28:03.607Z","0.2.2":"2013-06-05T09:44:42.532Z","0.3.0":"2013-08-01T06:44:16.506Z","0.3.1":"2013-08-01T09:22:36.963Z","0.3.2":"2013-08-01T15:12:04.814Z","0.3.3":"2013-08-05T03:05:17.614Z","0.3.4":"2013-08-08T03:12:00.712Z","0.3.5":"2013-08-14T05:45:40.944Z","0.4.0":"2013-09-29T02:13:21.512Z","0.4.1":"2013-10-09T07:59:17.617Z","0.5.0":"2014-02-28T02:55:19.873Z","0.5.1":"2014-02-28T04:52:09.908Z","0.5.3":"2014-03-05T09:45:34.748Z","0.5.4":"2014-03-06T07:55:13.127Z","1.0.0":"2014-05-22T09:42:10.180Z","1.0.1":"2014-05-27T10:21:10.890Z","1.0.2":"2014-06-03T03:58:57.296Z","2.0.0":"2014-11-05T09:38:59.630Z","2.0.3":"2014-12-25T07:51:45.034Z"},"author":{"name":"fool2fish","email":"fool2fish@gmail.com"},"repository":{"type":"git","url":"git@github.com:totorojs/totoro-server.git"},"readmeFilename":"README.md","homepage":"https://github.com/totorojs/totoro-server","keywords":["front-end","cross-browser","testing","tool","totoro","server"],"contributors":[{"name":"kangpangpang","email":"kangpangpang@gmail.com"}],"bugs":{"url":"https://github.com/totorojs/totoro-server/issues"}}