Configuration

CrossTest has several configuration options. The configuration below shows an example configuration that can be used. The configuration should be stored in a file called XTestConfig.xml that is in the working directory of where Cucumber is running. Also have a look at the schema file of the config

<?xml version="1.0" encoding="UTF-8"?>
<XTestConfig>
    <CompositeObjects>
        <!-- Composite objects can be configured in the config or defined/modified via step sentences -->
        <CompositeObject name="Customer">
            <ContextTables>
                <ContextTable tableName="CUST_SAT" databaseConfigName="demo"/>                      
            </ContextTables>
            <KeyTables>
                <KeyTable tableName="CUST_HUB" databaseConfigName="demo"/>
            </KeyTables>
        </CompositeObject>
    </CompositeObjects>
    <DatabaseConfigs>       
        <DatabaseConfig 
            name="demo" 
            databaseServerConfigName="test"     
            schema="dbo"
            template="demo"/>   
    </DatabaseConfigs>
    <DatabaseServerConfigs>
        <!-- The JDBC driver used should be available on the class path and is loaded at runtime -->
        <DatabaseServerConfig 
            name="test" 
            JDBCUrl="jdbc:sqlserver://localhost:1436;databaseName=TestDB" 
            username="USERNAME" 
            password ="PASSWORD" />         
    </DatabaseServerConfigs>
    <ObjectTemplates>
        <!-- Object template can be used to add prefix, suffix and default attributes to a database config -->      
        <!-- Object templates are hierarchical, a parent template can be defined on a template so the child template inherits all that is configured on the parent (and its ancestors) -->
        <ObjectTemplate name="demo">
            <Attributes>
                <Attribute name="CREATE_DD" value="2010-01-01" />
            </Attributes>
        </ObjectTemplate>
    </ObjectTemplates>
    <ProcessConfigs>
        <!-- The prefix is applied to the process name that is used in the step sentence -->
        <ProcessConfig name="demo" container="Demo" processServerConfigName="demo" prefix="wf_m_"/>
    </ProcessConfigs>
    <ProcessServerConfigs>
        <!-- The executionClass specifies the process executor, in this example our Informatica PowerCenter process executor -->
        <!-- The jar file containing the executor should be available on the classpath and is loaded at runtime -->
        <!-- The Properties collection is executor-specific, this example shows the properties needed for the PowerCenter executor -->
        <ProcessServerConfig 
            name="demo"             
            executionClass="com.xbreeze.xtest.process.informaticapowercenter.execution.InformaticaPowerCenterExecutor"
            serverUrl="http://10.1.0.5:7333/wsh/services/BatchServices/DataIntegration">
                <Properties>
                    <Property name="UserName" value="USER" />
                    <Property name="Password" value="PASSWORD" />
                    <Property name="Domain" value="InfaDemo"/>
                    <Property name="Repository" value="InfaDemo-RS"/>
                    <Property name="IntegrationService" value = "InfaDemo_IS"/>
                </Properties>
            </ProcessServerConfig>
    </ProcessServerConfigs>
</XTestConfig>