Skip to content

Comparison with other frameworks

kkott00 edited this page May 31, 2013 · 7 revisions

There are the multitude of web test frameworks for web application test. Here is my thoughts about why Ecballium is better.

Main pros:

  • Test description not test scripts
    My main point here is to separate test description and test code to the difference to Jasmine which keep it together. Selenium is classical test script engine. I managed to use compilation Lettuce or Cucumber plus Selenium. It works well but difficult to integrate and support.

  • Test running application not code
    Jasmine is example of improvement of unit test. But unit tests are too expensive for development efforts and too weak for coverage. Anyway users see running application not function code.

  • Single language
    Selenium drive test developers to use python or java for test scripts and javascript as injected code. It is not big problem but it difficult for me to switch between languages.

  • Minimal test infrastructure
    Selenium requires to deploy test servers and browser drivers on targets. Also it necessary to launch servers and manage them (ports, ip address, browser types). Browser drivers have considerable difference in work and often have bugs between versions of driver and version of actual browser. In the case of Ecballium test dispatcher and application for test run in the same browser instance. To launch test you can use shell script:

chromium http://www.yoursite.com/test/launcher#feature_file
firefox http://www.yoursite.com/test/launcher#feature_file 
opera http://www.yoursite.com/test/launcher#feature_file

This shell script can be called remotely using OS tools (ssh or something else) from scheduler(cron) or from continuous integration systems (Jenkins). With Ecballium there is nothing to install just deploy it with test application.

  • Browsers are native platform
    Implementation of steps in JS gives high endurance to changing browser agent and versions. JS works very similar on all browsers and it quite easy to fix small difference in step implementation. It is incredibly difficult to fix browser driver differences in Selenium.

  • Feedback from application
    You can listen for events of application and make asynchronous calls in context of running application. May be Selenium also can do it. Please message me if I am wrong.

  • Test visualization
    Using selenium you can see actions in browser window but Ecballium can more - fake mouse pointer focused on active element, text comments, element highlighting.

  • Developer console
    You can try some piece of feature file using console. Console available [http://www.yoursite.com/test/launcher#console]

Limitations:

  • Access to server-side data
    Selenium has possibility to access to DB of application directly but Ecballium not. Sure you can get access some way via AJAX but I consider that it is quite useful limitation cause user also is not able to see DB data. Checking results of application actions in DB can give us false test results cause test can see results but use can't.
Clone this wiki locally