Describes projects meta information.
Project is defined by the adapter class, properties for it and resource pools ones.
There are commong properties like name, parentproject and project specific ones,
defined in detailconfig tag.
< ?xml version="1.0" encoding="UTF-8"? >
< config >
< !-- project is source for runnable items and resource pools-->
< !-- current one is configured to provide Browser's resource pool only, used in child projects -->
< project >
< !-- adapter class, responsible for creating runnable tests tree or resource pool-->
< !-- check runner plugin guide for details-->
< adapter >org.kkonoplev.bali.runner.junit.JUnitProjectAdapter< /adapter>
< !-- project config contains common sections to be in each project
and additional detailconfig section to be parsed by adapter on runtime -->
< config >
< !-- uniq project name -->
< name >commons < /name >
< !-- detailconfig section is project specific to be parsed by adapter's ProjectDetailsParser interface -->
< detailconfig >
< binfolder > C:\projects\BrowserResource\bin\ < /binfolder >
< libfolder > C:\projects\BrowserResource\lib\ < /libfolder >
< /detailconfig >
< !-- declare resources pool to be used by tests -->
< ResourcePool >
< !-- factory class, implementing ITestExecResourceFactory interface and used for creation of pools instances-->
< factoryclass>org.kkonoplev.bali.selenium.browser.BrowserFactory
< !-- commands to be invoked in factory to generate required resource objects on instance -->
< !-- add 3 firefox Browser to pool -->
< loadcmd >3,,false,chrome< /loadcmd >
< !-- add 1 firefox Browser to pool -->
< loadcmd >1,,false,firefox< /loadcmd >
< /ResourcePool >
< /project >
< !-- project is source for runnable items and resource pools-->
< !-- current one is configured to provide JUnit runnable items -->
< project >
< !-- adapter class, responsible for creating runnable tests tree according to required API.-->
< !-- check runner plugin guide for details-->
< adapter >org.kkonoplev.bali.runner.junit.JUnitProjectAdapter< /adapter >
< !-- project config contains common sections to be in each project
and additional detailconfig section to be parsed by adapter on runtime -->
< config >
< !-- uniq project name, observable in frontend as project id -->
< name >junit< /name >
< !-- set reference to the parent project, some items of parent project
(like classloader e.t.c) may be used by child for construction, we plan to use browsers from pool -->
< parentproject >commons< /parentproject >
< !-- detailconfig section is project specific to be parsed by adapter's ProjectDetailsParser interface -->
< detailconfig >
< binfolder >C:\projects\BaliDemo\bin\< /binfolder >
< libfolder >C:\projects\BaliDemo\lib\< /libfolder >
< testmatch > test.class < /testmatch >
< /detailconfig >
< /config >
< /project >
< /config >