Announcing Testling - Automated Cross-Browser JavaScript Testing
catonmat.net
catonmat.net
- headless v. javascript driving browser v. full browser-level
- js-only v. test-specific html page v. load full app html
- local v. cloud
And the current contenders go something like:
- Selenium: browser, full app, local
- Sauce: browser, full app, cloud
- FuncUnit: js-browser, full app in iframe, local
- qUnit: js-browser, sparse html page, local
- JS Test Driver: js-browser, js-only, local
- ad infinitum...
The result is that you need (at least!) three different tools to do three different but required tasks:
- unit tests that run in a quick-feedback, autotest style on the command line
- module-level tests that require a small bit of DOM access and cross-browser testing
- integration tests that require loading the full app and triggering events on it.
It would be better if we could come up with a convenient, simple abstraction that allowed doing all three, and sharing code for mocks across the three, and configuring in what environment and what machine they each run.
Ideally, this could be done with AMD and wire.js. Just write a test in javascript, declare its dependencies, and they get injected.
- Unit tests depend on just one or two js files. They get loaded and then the tests run.
- Functional tests depend on "dom," provided either by a browser or a zombie.js-style headless dom, and a variety of js and html snippets. They all get loaded and run.
- Integration tests depend on "app", provided by actually running against one of your servers. It spins up, the tests run, maybe there is an API for telling the test server to reset itself to a known state between tests.
I think one of the biggest benefits of testling right now is that you don't have to install anything outside of curl to start using it.
* Browserling - http://www.catonmat.net/blog/announcing-ssh-tunnels-for-browserling/
* BrowserStack - http://www.browserstack.com
Clickable:http://www.catonmat.net/blog/announcing-ssh-tunnels-for-brow...
IMO if you're going to be publishing some form of cloud SaaS for testing, this feature is a must.
I personally don't like my broken code leaving the confines of the office (or opening up any outside ports).
Is this also meant to be used for testing usability across browsers? Like browserling but automated? If so, some specific examples on the docs page would be very helpful.
Edit: added! http://stackvm.com
Edit: Best HN username goes to you.
<3
> It just kind of hurts me a little bit to see a great product come short in design.
I do have to wonder what the design would look like were a "pro designer" to get their hands on it. I think SubStizzy did a pretty admirable job, but man design is hard. I know I'm pretty terrible at it anyway.
What I would like to see is automated testing on different mobile browsers (on real devices).
Anyone have pointers for such tools? Thanks.