I put some effort the last few days in this new framework.

Done:

Issues

Selenium test suite do not accept a baseurl (or only a part of it) so I have a full path like /Joomla1.5.7/installation/index.php in a selenium test case instead of /installation/index.php in test case and baseurl= http://localhost/Joomla1.5.7)

Architecture

3rd Party

  • I use antelope for some advance ANT operations: substring, indexof, loop
  • I use selenium java server on port 4444 (default)

Cluster

All cluster operations are in cluster.xml these basic functions are

  • cluster.init
    • cluster.remove&160;&160;&160;&160;&160;&160;&160; remove all instances of Joomla! in checkout directory
    • joomla.unpack.all&160;&160;&160; unpack all Joomla! versions that are checked in another SVN root
    • joomla.install.all&160;&160;&160;&160;&160; run the same selenium test case joomla.install.html on all Joomla! instance
    • joomla.remove.all.installation&160;&160; remove all Joomla! installation directories
    • joomla.check.all&160;&160;&160;&160; check all Joomla! installations for correctness
  • cluster.start
  • cluster.remove
  • cluster.stop

Joomla!

All Joomla specific operations are in joomla.library.xml

  • Unpack a Joomla! version
  • Remove the installation directory form a version
  • Apply a selenium test suite install.joomla.html that can use the regular Joomla! installer
  • Is also able to do all of the above on all Joomla! versions found (regular expression) in checkout directory

Selenium

  • All selenium operations are in selenium.xml
  • All test suite and test cases are in /selenium/joomla/

PHPUnit

All PHPUnit operation are in phpunit.xml

Settings

Settings are in setEnv.xml, in future I will lazy load a file if it exist as environment variable

&160;

If you know ANT, the code is quite readable...

comments powered by Disqus

You might like also

Failed opening required PHPUnit/TextUI/TestRunner.php in Maven For PHP
This issue has turn me upside down a long time. In fact in the official Google Group http://groups.google.de/group/maven-for-php/ I was not the only one to have this issue. I did try the following, and it is always good to check first Checking PHP version, Starting Maven with -X for having more debug information Testing it in Eclipse + M2Eclipse on windows, was working there, Comparing calculated PHP include path on Windows and Linux: they were identical in this case Only …
3447 Days ago
Installing Subversion on OpenSuse and Plesk 9
Subversion (SVN) is an open source version control system. It allows users to keep track of changes made over time to any type of electronic data. Typical uses are versioning source code, web pages or design documents. I now host my own private subversion at http://svn.waltercedric.com A required step to be able to build some small project and finish the prototype of Continuous build for Joomla!   …
3724 Days ago
When Joomla! meet Maven for PHP
I will quickly describe in this post how you can code your component/plugins/modules against a specific version of Joomla! with no effort using Maven for PHP. The trick I made is to package the whole Joomla distribution in a jar file, and add a Maven dependency to the project. As Joomla, PHPUnit, or any other 3rd party is not a set of class packaged in a jar, the brilliant idea of Maven for PHP is to unpack all these dependencies …
3738 Days ago
My 2 first Joomla! component in continuous build
Status/Done Build with Maven For PHP in TeamCity SVN repository at http://joomlacode.org/svn/com_securityi1/trunk/ and http://joomlacode.org/svn/com_akobookplus/trunk/ Totally independent of continuous build server (Thanks to MAVEN), so Hudson, Bamboo and Cruise Control are SUPPORTED. …
3739 Days ago
Configuring TeamCity, Maven for PHP for Joomla continuous build
Maven for PHP uses the power of Maven for building, reporting on and creating documentations of PHP projects. It adapts the Maven build lifecycle to the PHP world while fully supporting PHP 4 and PHP 5. PHP for Maven uses PHPUnit for unit testing and doxygen for creating the api documentation. Use a PHP library project to create a library that can be used by other PHP libraries or PHP web projects. Use a PHP web project to create a …
3740 Days ago
Installing PHPUnit / Selenium in XAMPP
&160; &160; A small how to install PHPUnit via PEAR in an XAMPP running on a windows box. A prerequisite for a continuous build strategy. PHPUnit is a member of the xUnit family of testing frameworks and provides both a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyze their results. PHPUnit homepage ONLamp.com - Testing PHP Code with PHPUnit Planet PHPUnit Sebastian Bergmann (creator of PHPUnit) Installing XAMPP …
3851 Days ago
ContinuousBuild4Joomla project submitted to JoomlaCode.org
I will commit soon a first draft (alpha) of what is expected to bring continuous build to any Joomla! component (or event to Joomla! core itself ;-)) You are free to join the project, all documentation effort stay at the moment in my WIKI &160; …
3873 Days ago
No Thumbnail was found
Automatic installation of Joomla! runtime environments Main ideas Build is scalable Distributed build management optimize hardware resources utilization by parallelizing product builds within the build agents grid. With build chains support, it is even possible to break down a single build procedure into several parts to run them on different build agents &8212; both in sequence and in parallel &8212; using the same set of sources in all of them. I want to be able to test my components against …
3878 Days ago