-
Notifications
You must be signed in to change notification settings - Fork 0
Comparison with other frameworks
There are the multitude of web test frameworks for web application test. Here is my thoughts about why Ecballium is better.
-
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]
-
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.