What are Global Settings

In order to make automated scripts more abstract and environment independent, many things can be configured on a global basis. Some examples of these settings are the organization, or test environment the tests are running in. While these settings can be set at the script level, it would then require a mass search and replace just run the scripts against a different environment or affiliate.

Jameleon provides a file called jameleon.conf which attempts to help alleviate some of this pain. The values and variables set in this file are not available to the context of the test script. Instead, the configurations made here affect the behavior of the instance of Jameleon and/or the plug-ins used in the test script.

jameleon.conf must exist in the same directory where Jameleon was started from. For example, if starting Jameleon from a jameleon-test-suite directory, jameleon-test-suite/jameleon.conf should exist. This allows for one version of Jameleon to be installed against several different configurations. The format of this file is a key=value setting per line. For example, to set the organization to Google and the testEnvironment to staging:

organziation=Google
testEnvironment=staging

Available Global Settings

The following settings may be configured via jameleon.conf.

Property Name:DescriptionDefault Value
TestCaseListeners To hook into the Jameleon Test Case Event model, define a space-separated list of classes that implement net.sf.jameleon.event.TestCaseListener. No Default
plugins To enable a plug-in, simple set the value of plugins to the name of the plug-in. For example, to enable the jiffie plug-in, set the value to jiffie-plugin. To enable both jiffie and httpunit, set the value to jiffie-plugin httpunit-plugin. junit-plugin
functionDelayThis is a numerical setting in milliseconds. Whatever this is set to, each functional point will wait that period after execution. This setting is also available as a single functional point attribute0
csvCharsetIf testing in another language other than UTF-8 (the default), then this can be set at test-case tag level.UTF-8
csvDirSets the directory of which csv files will be searched for. This is based on the baseDir setting.data
testEnvironmentThe name of the environment the test case is to be executed against. Some examples of testEnvironment are: prod, beta, dev, and localhost. Please read the documentation on testEnvironment-Applications.properties for more information on using this file to set variables. The testEnvironment value is also used to find the location of the data file if one is used. This is explained more here No Default
organizationThe name of the organization the test case is to be executed against. This is used only when the same application is "deployed" or installed to different places with either different look and feels or business rules or both. In this case, the same test case should be valid against the different installs or deployments. The value of organization also influences the location of the data file. If the organization is set, the test case will look for a CSV file in the data/testEnvironment/organization directory. For example, when a test case with name set to "ExampleTestCase", testEnvironment set to "stg", and organization set to "ACME" is executed, it will look for a file "data/stg/ACME/ExampleTestCase.csv.No Default
assertLevelThe level of asserts which will be executed in the functional points. This is set to one level. Please see AssertLevel for more information on this.Defaults to all levels
assertLevelsA comma separated list of assertLevels which will be executed in the functional points. Please see AssertLevel for more information on this.Defaults to all levels
assertLessThanLevelThe level of asserts which must be less than OR equal to in order to be executed in the functional points. This is set to one level. Please see AssertLevel for more information on thisDefaults to all levels
assertGreaterThanLevelThe level of asserts which must be greater than OR equal to in order to be executed in the functional points. This is set to one level. Please see AssertLevel for more information on thisDefaults to all levels
storeStateEventSets the event which must occur in order for the application's state to be recorded. Please see setStoreStateEvent() for more information on valid values.storeStateOnError.
tracePrint out all functionId's of each test case to the std out log. This is very helpful for debugging which functional point is getting executed and when.falseYes
genTestCaseDocsGenerates the test case documentation and creates links on the TestResults.html page for each test case name. It is assumed that each test case have a unique name. If not then all test cases with the same name will be linked to the last test case with that name generated.. the generated docs.true
executeTestCaseTells Jameleon to execute or not execute the test case or test cases.true
baseDirTells Jameleon where the project being executed is located..
resultsDirTells Jameleon where to put the recorded states of the applications changes.jameleon_test_results
bugTrackerUrlWhen the test case docs are being generated, and if there is a bug for that particular test case, then a link will be generated for that bug. Due to the nature of HTTP, the order of the parameters don't matter, so it should be enough to make the bugId parameter the last one. This has been tested against Bugzilla and the Sourceforge tracking site. For example, to use this against the Jameleon SourceForge project, http://sourceforge.net/tracker/index.php?func=detail&group_id=84246&atid=572239&aid= would be used. The aid is the bug id.None
genTestCaseDocsEncodingTells Jameleon what encoding type to use when generating the docs.UTF-8
failOnCSVFileNotFoundIf set to false, and an error due to the CSV file not being found happens, then the test case will not get logged. This is useful when trying to make test cases run against another organization or environment and you want to run the entire suite of tests that have the appropriate CSV files, but ignore the ones you haven't had time to port over yet.true
genTestCaseDocsTemplateJameleon will use this Velocity template to generate its test case documentation. The template file must exist in the CLASSPATH.TestCaseDocsTemplate.txt
enableSslCertCheckThis is an HTTP Specific tag, but for now to make things a bit easier, this is going here. Basically, if testing against a site with an invalid (expired, wrong host), this can be set to false and the key won't be validated.true