Post on 06-Aug-2015
Selenium and Joomla! Open Source
Puneet Kala
@punekala
CMS Usage for Building WebSites
Src: http://w3techs.com/
1 Million Downloads Every Month
Src: http://joomlacode.org/
Code Contribution!
Automated Testing for Joomla!
Selenium and Joomla
Automated Testing with Selenium RC was started in 2010, by Ian MacLennan
Shifted to Selenium Webdriver, Started by Mark Dexter, in 2012
System Testing with Joomla
Two Google Summer of Code Projects in year 2013, 2014 to develop the System Test Suite with Webdriver.
Code Coverage of almost 80% backend and Major Frontend part of the Application.
Approx. 200+ Testcases.
Structure of System Tests
Test Suite+
Reporting Tool, that displays Errors and Failures in a table structure
Travis CI Integration with System Tests, with every Pull Request.
Joomla! Extensions
Extra features that aren’t available with Joomla! by default can easily be implemented by building an Extension.
More than 8300 Extensions are available on the Joomla Extension Directory.
Testing Joomla! Extensions
Adding Joomla! as Submodule.
Automated Tests, Installs Joomla and then Installs the Extension on it.
Page Classes can be further built just like we have for the CMS.
Can be used for testing any Extension.
Limitation and Difficulties
HTML Elements with no ID Attributes.
Maintenance is always a Pain.
Limitation of Travis test execution.
Need for Parallel Testing, limitations of Current Suite.
Experience
Is Functional Testing really Required?
Test Automation strategy is the most Important, right from the Beginning
Choosing the correct framework.
Plan to achieve small successes and grow.
Automation is not just about Regression Testing.
Contd.
You need Patience, Automation Scripts don’t just payoff right from the first release of a Product.
Testers and Developers -: you need to be on Same Team!!!!
Record and Playback, it will never payback.
Future Goals
Focus on Scaling System Tests.
Use of an Advanced Framework like CodeCeption.
Use of Cloud Based Testing Services.
Focus on Parallelizing Tests execution.
Get on Board!
We need your Help!
Volunteer, Learn, Grow with us.
System Testing Group: http://docs.joomla.org/System_Tests_Working_Group
Email: puneet.kala@community.joomla.org
Twitter: puneet_kala