2017 October Release

How to Create a Configuration File for the Fabasoft app.test Console PlayerPermanent link for this heading

In the configuration file you can define the properties for starting a test in the Fabasoft app.test Console Player. In this file you enter the credentials entered in the "Login" dialog when starting a test from the Fabasoft app.test Studio in the Fabasoft app.test Player. The following XML tags are available for defining the properties for starting a test file in the Fabasoft app.test Console Player:

  • Root tag: <Config ... />
    Define the project path
  • <Run ... />
    Define properties for running the test file
  • <Login ... />
    Define the login information
  • <BrowserSettings ... />
    Define if a proxy server should be used for connecting to the defined web site
  • <ParameterTable ... />
    Define if a parameter table should be used
  • <Adaptor ... />
    Define the Fabasoft app.test Client Adaptor settings
  • <Agent ... />
    Define if a Fabasoft app.test Agent should be used
  • <Reporting ... />
    Define the reports that should be created
  • <Telemetry ... />
    Define if the app.telemetry Software-Telemetry should be used
  • <Threads ... />
    Define if several tests should be executed parallel by using threads

Root tag: <Config ... />Permanent link for this heading

The root tag of the configuration file is the <Config /> tag. In here you can define the path of the project in the attribute projectpath.

Note: If a backslash occurs in the end of a path you have to escape this backslash by another backslash (otherwise the backslash escapes the quotation mark).

Example

<Config projectpath="D:\apptest-projects\Fabasoft Folio\\" >
   <!-- define Fabasoft app.test Console Player configuration -->
</Config>

<Run ... />Permanent link for this heading

In the Run tag you can set the same preferences as in the "Run" dialog when starting the Fabasoft app.test Player in the Fabasoft app.test Studio.

These are the attributes that can be set in the Run tag:

Attribute

Description

Default Value

execute

In the execute attribute the path to the file is specified that should be executed. This might be a test, a sequence or a use case.

-

webserver

The webserver attribute contains the web server where the test, the sequence or the use case should be executed.

-

address

The address attribute contains the address where the test, sequence or use case should be executed. This might be a Fabasoft Folio domain, a Mindbreeze Enterprise Search or a Liferay Portal.

-

applicationtype

The applicationtype together with the attribute clienttype decide the test environment. The applicationtype can be one of the following:

  • BROWSER - Use the browser installed on the test client
  • MOBILE_BROWSER – Use the browser of a simulated mobile environment
  • HTML - Host the browser in a Java container. Several versions of Mozilla Firefox (up to version 22) are included in a Fabasoft app.test installation.
  • JAVA - Use Java plugins to test custom applications

HTML

clienttype

The clienttype attribute contains the web browser that should be used for executing a test. The possible entries in this attribute with application type HTML are:

  • HTML_IE - Microsoft Internet Explorer
  • HTML_MOZILLA : <version> - Mozilla Firefox <version> (4.0, 8.0, 10.0, 14.0, 16.0, 17.0, 18.0, 20.0 or 22.0)
  • HTML_MOZILLA : <version> : allowkerberos - Mozilla Firefox <version> with Kerberos authentication
  • HTML_SAFARI – Apple Safari

When using the application type BROWSER the following options are valid:

  • MICROSOFT_INTERNET_EXPLORER
  • MOZILLA_FIREFOX
  • GOOGLE_CHROME
  • APPLE_SAFARI

With the application type JAVA the only option here is EXTERNAL.

The application type Mobile Browser currently supports the following client types.

  • GOOGLE_CHROME

HTML_IE

scope

The scope attribute contains the scope that might be used within the file. The scope is an integer value between 1 and 9999.

1

runs

The runs attribute contains the number how often the specified file (execute attribute) should be executed. This must be a number greater than 0.

1

sleep

The sleep attribute contains a time in milliseconds. The Fabasoft app.test Console Player waits the defined time after each statement.

0

onerror

The onerror attribute defines what should happen if an error occurs. You can enter the following values into this attribute:

  • continue - If continue is used, the Fabasoft app.test Console Player ignores errors and continues with the next statement if an error occurs. You can find all errors in the report file later on.
  • break - If break is used, the Fabasoft app.test Console Player stops if an error occurs.
  • cancel - If cancel is used, the Fabasoft app.test Console Player ends the current test run if an error occurs.

continue

onerror.screenshot

The onerror.screenshot attribute defines if a screenshot should be created each time an error occurs.

false

onerror.htmldump

The onerror.htmldump attribute defines if the HTML of the currently shown web site should be saved each time an error occurs.

false

onerror.controldump

The onerror.controldump attribute defines if the structure of all controls currently displayed in the Fabasoft app.test Client Adaptor should be saved as an XML file each time an error occurs. Furthermore, the currently set test parameters are saved as a parameter table.

false

onerror.apptelemetryreport

The onerror.apptelemetryreport attribute defines if the error (with screenshot and all dumps as configured) should be reported to app.telemetry if available. Note: This attribute cannot be configured in the run dialog (defaults to true).

true

ontimeout

The ontimeout attribute defines what should happen when a “Timeout” error occurs. This setting is only effective if onerror is set to continue. You can enter the following values into this attribute:

  • continue - If continue is used, the Fabasoft app.test Console Player continues with the next statement if a timeout occurs. You can find all errors in the report file later on.
  • cancel_sequence - If cancel_seqeuence is used, the Fabasoft app.test Console Player cancels the current sequence and continues with the next sequence if there is one.
  • cancel - If cancel is used, the Fabasoft app.test Console Player ends the current test run if an error occurs.

continue

onbreakpoint

The onbreakpoint attribute defines what should happen if a breakpoint is reached. You can enter the following values into this attribute:

  • continue - If continue is used, the Fabasoft app.test Console Player ignores breakpoints.
  • break - If break is used, the Fabasoft app.test Console Player stops if a breakpoint is reached.

continue

closeremainingcontextapps

  • If an adaptor is closed, all remaining open third party applications started by this adaptor which can be found via the Context statement will be closed automatically.

If set to false, only a list of open applications will be reported.

This will result in a warning in the sequence statement.

true

langpath

The langpath attribute defines the default path for the language files that are used in the test. This path is saved in the system parameter langpath and can be used in the test for loading language files.

{~resources~}LanguageFiles

Additionally, you can also define the settings that can only be set in the "Preferences" of the Fabasoft app.test Studio.

These are the attributes that can be set additionally:

Attribute

Description

Default Value

timeout

The timeout attribute contains the timeout for statements, which means Fabasoft app.test throws a "Timeout" error if a statement takes too long to be executed. The timeout value can be defined individually (in milliseconds).

30000

sequencetimeout

The sequencetimeout attribute contains the timeout for sequence statements, which means Fabasoft app.test throws a "Timeout" error if a sequence takes too long to be started. The timeout value can be defined individually (in milliseconds).

60000

(2 x timeout)

contexttimeout

The contexttimeout attribute contains the timeout for context statements, which means Fabasoft app.test throws a "Timeout" error if a context takes too long to be started. The timeout value can be defined individually (in milliseconds).

90000

(3 x timeout)

maxerrors.test

In the maxerrors.test attribute you can define the maximum number of errors which may occur within a test. If this number is exceeded, the test is canceled.

0 (disabled)

maxerrors.sequence

In the maxerrors.sequence attribute you can define the maximum number of errors which may occur within a sequence. The execution of the test continues with the next sequence if this number is exceeded, only the current sequence is canceled.

0 (disabled)

Example

<Run
   execute="{~projectpath~}Tests\WorkflowTest.ducx-test"
   webserver="fscserver"
   address="http://{~webserver~}/fsc"
   clienttype="HTML_MOZILLA : 3.5"
   scope="5"
   runs="2"
   sleep="500"
   onerror="continue"
   onerror.screenshot="true"
   onerror.htmldump="true"
   onerror.controldump="true"
   onerror.apptelemetryreport="true"
   onbreakpoint="continue"
   timeout="45000"
   sequencetimeout="150000"
   contexttimeout="300000"
   ontimeout="cancel"
   maxerrors.test="50"
   maxerrors.sequence="20"
   langpath="{~resources~}LanguageFiles\LANG_ENGLISH\"
/>

<BrowserSettings ... />Permanent link for this heading

In the Browser Settings tag you can define if a proxy server should be used when connecting to the web site defined in the Run tag.

These are the attributes that can be set in the BrowserSettings tag:

Attribute

Description

Default Value

useproxy

In the useproxy attribute it is defined if a proxy server should be used ot not. If this attribute is set to true a proxy server is used which also means you have to set the following attributes as well (for defining the proxy server to be used).

false

proxyserver

The proxyserver attribute defines the proxy server to be used (IP address or name).

-

proxyport

In the proxyport attribute the port used by the proxy server is defined.

8080

jsenabled

In the jsenabled attribute it is defined if running JavaScript in the browser is enabled.

true

pluginsenabled

In the pluginsenabled attribute it is defined if running Plug-ins in the browser is enabled.

true

Example

<BrowserSettings
   useproxy=true
   proxyserver=10.10.10.10
   proxyport=8080
   jsenabled=true
   pluginsenabled=false
/>

<ParameterTable ... />Permanent link for this heading

In the "Run" dialog (when starting the Fabasoft app.test Player in the Fabasoft app.test Studio) you can load parameter tables on the "Run" tab.

There are two ways for loading parameter tables in the configuration file for the Fabasoft app.test Console Player:

You can either load an existing parameter table file by using the filename attribute or you can directly enter set statements into the ParameterTable tag.

If you use both, the parameters set directly in the configuration file (by set statements) overwrite the parameters from the file that is loaded.

If several parameter tables are specified they are executed one after the other. Parameters are overwritten if the occur more than once.

Example

<ParameterTable
   filename="{~projectpath~}ParameterTables\Parameters.ducx-param"
/>

<ParameterTable>
   <Set parameter="firstname" value="Anthony" />
   <Set parameter="lastname" value="Tatterson" />
   <Set parameter="birth" value="18.05.1954" />
</ParameterTable>

<ParameterTable filename="{~projectpath~}ParameterTables\Parameters.ducx-param" >
   <Set parameter="firstname" value="Anthony" />
</ParameterTable>

<Login ... />Permanent link for this heading

On the "Login" tab of the "Run" dialog the information for logging on is specified:

This information is also needed in the Fabasoft app.test Console Player and can be specified in the Login tag by setting the following attributes:

Attribute

Description

Default Value

authentication

In the authentication attribute you can define the type of authentication that should be used. Two types are offered:

  • basic - If basic is entered, basic authentication is used. This means the user that is specified in the sequence or when starting the execution of the file is used for logging on.
  • integrated - If integrated is entered, integrated authentication is used. This is only possible within a Microsoft Windows environment.

basic

certificate

The certificate attribute defines the certificate to be used.

-

domain

The domain attribute specifies the domain of the user. This domain is overwritten if a domain is defined in a sequence of the test

-

username

The username attribute contains the name of the user that should be used. This user is overwritten if a user is defined in a sequence of the test

-

password

The password attribute contains the password that is used for logging on. This password is overwritten if a password is defined in a sequence of the test

-

Example

<Login
   authentication="basic"
   certificate="{~resources~}Certificates/david.porter.pfx"
   domain="fscdomain"
   username="david.porter"
   password="david"
/>

<Adaptor ... />Permanent link for this heading

In the Adaptor tag you can define the properties for the Fabasoft app.test Client Adaptor like the size, the position and the port that should be used.

These are the attributes that can be set in the Adaptor tag:

Attribute

Description

Default Value

width

The width attribute defines the width of the Fabasoft app.test Client Adaptor (in pixels).

850

height

The height attribute defines the height of the Fabasoft app.test Client Adaptor (in pixels).

650

poshor

The poshor attribute defines the horizontal position of the Fabasoft app.test Client Adaptor (in pixels).

10

posver

The posver attribute defines the vertical position of the Fabasoft app.test Client Adaptor (in pixels).

10

port

The port attribute defines the TCP port used by the Fabasoft app.test Client Adaptor when running a test, sequence or use case.
Note: If the configured port is already in use, the next free port is taken.

4360

Example

<Adaptor
   width="800"
   
height="600"
   
poshor="50"
   
posver="50"
   
port="4360"
/>

<Agent ... />Permanent link for this heading

In the Agent tag it is defined if the Fabasoft app.test Agent should be used when running the test file.

These are the properties that can be set on the "Agent" tab of the "Run" dialog:

These are the attributes that can be set in the Agent tag:

Attribute

Description

Default Value

hostname

The hostname attribute contains the name of the host where the Fabasoft app.test Agent is installed.

localhost

port

The port attribute contains the TCP port the Fabasoft app.test Agent should use.

5024

transfer

If you use the Fabasoft app.test Agent for testing, you have to set the transfer attribute to true because then the documents imported or exported are transferred from the Computer, where the test has been started, to the Fabasoft app.test Client Adaptor which runs on another machine (agent host) - and the other way round.

false

Example

<Agent
   hostname="vistaclient"
   port="5024"
   transfer="true"
/>

<Reporting ... />Permanent link for this heading

In the Reporting tag you can define the properties for creating the report. This means one the one hand, the path and the name of the report file and on the other hand, the environment details of the test run.

These are the properties that can be set on the "Reporting" tab of the "Run" dialog:

These are the attributes that can be set in the Reporting tag:

Attribute

Description

Default Value

reportpath

The reportpath attribute contains the path to the folder where the report should be saved (not the name of the report). If you want to save the report in the path where the project is located, you can reference the system parameter projectpath (which has been defined in the <Config /> tag).

{~projectpath~}

reportname

The reportname attribute contains the name of the report to be created when the test run has finished.
The following parameters can be used for naming the report:

  • testname (contains the name of the executed test)
  • scope (contains the scope that is used for executing the test)
  • sleep (contains the waiting time after an execution in the test)
  • timestamp (contains a timestamp which is created from the current date and the current time)

{~timestamp~}  {~scope~}

envdatabase

In the envdatabase attribute the used database can be entered. This information is saved in the XML file of the report.

-

envbackend

In the envbackend attribute the environment can be entered where the backend server is running. This information is saved in the XML file of the report.

-

envconversion

In the envconversion attribute the environment can be entered where the conversion server is running. This information is saved in the XML file of the report.

-

envwebserver

In the envwebserver attribute the environment can be entered where the web server is running. This information is saved in the XML file of the report.

-

envclient

In the envclient attribute the environment can be entered where the test is executed. This information is saved in the XML file of the report.

-

Furthermore you can define the transformations that should be done when creating the report. These transformations are defined in Transformation tags, where the following attributes can be set:

Attribute

Description

Default Value

stylesheet

In the stylesheet attribute it is defined which stylesheet should be used for the transformation (path + name).

-

result

The result attribute defines the path and the name of the report that is created in the transformation.

-

parameter.<parametername>

With parameter.<parametername> attributes parameters can be passed to the stylesheet.
Note: If the stylesheet cannot handle a parameter an error will be reported.
The parameter ApptestReportFile is reserved for the path to the source report file of the transformation.

-

Example

<Reporting
   reportpath="{~projectpath~}Reports\"
   reportname="{~testname~} - {~timestamp~}.ducx-rep"
   envdatabase="SQL Server 2005"
   envbackend="RHEL 5.1"
   envconversion="Microsoft Windows Server 2003"
   envwebserver="Microsoft Windows Server 2008"
   envclient="Ubuntu 9.04"
   >
   <Transformation
      stylesheet="{~projectpath~}Styles\JUnit.xslt"
      result="{~projectpath~}Results\junit\{~testname~}-{~timestamp~}.xml"
   />
   <Transformation
      stylesheet="{~projectpath~}Styles\coverage.xslt"
      result="{~projectpath~}Results\coverage\{~testname~}-{~timestamp~}.xml"
   />
   <Transformation
      stylesheet="{~projectpath~}Styles\BIRTreport.rptdesign"
      result="{~projectpath~}Results\BIRT\{~testname~}-{~timestamp~}.html"
      parameter.CaptionFontSize="5"
      parameter.CaptionColor="blue"
   />
</Reporting>

<Telemetry ... />Permanent link for this heading

In the Telemetry tag you can define if the Fabasoft app.telemetry should be started and used during the execution of a test file. These are the properties that can be set on the "Telemetry" tab of the "Run" dialog:

These are the attributes that can be set in the Telemetry tag:

Attribute

Description

Default Value

active

In the active attribute you can define if Fabasoft app.telemetry should be used. If you enter true into this attribute, Fabasoft app.telemetry is started when the test is started, too. Otherwise, the entries in the Telemetry element are ignored (which means the Fabasoft app.telemetry is not started).

false

Telemetry Server

username

The username attribute contains the name of the user that should be used for logging on to the Fabasoft app.telemetry server.

-

password

The password attribute contains the password of the user that is defined in the user attribute.

-

address

The address attribute contains the URL of the Fabasoft app.telemetry server.

-

Telemetry Session

session

The session attribute defines the name of Fabasoft app.telemetry session (e.g. the name of the test that is carried out). With this name the telemetry session can be associated with a specific test run in the user interface of Fabasoft app.telemetry.
Please note that no parameters can be referenced in this attribute.

-

Telemetry Target

target

The target attribute defines the target application that should be logged by Fabasoft app.telemetry, e.g. Fabasoft Folio.

-

targetinstance

In the targetinstance attribute you can define an additional instance within the target application. This might for example be the domain id of the Fabasoft Folio domain.

-

tier

The tier attribute defines the level at which Fabasoft app.telemetry should start following up the activities of the target. This might for example be the web service. The software telemetry follows up an activity that works on different level.

-

tierinstance

In the tierinstance attribute you can define an additional instance of the starting level, for example an instance of the web service.

-

Telemetry Filter

level

The level attribute attribute defines the logging level. Three levels are available within Fabasoft app.telemetry (details can be found in the documentation of Fabasoft app.telemetry):

"Normal"

"Detail"

"Debug"

-

filter

The filter attribute defines the context of the target application, for example a Fabasoft Folio user. This context is used to filter the activity that is followed up by Fabasoft app.telemetry. If no filter is specified, all activities of the product are monitored by Fabasoft app.telemetry.

-

Example

<Telemetry
   active="true"
   username="anthony.brown"
   password="anthony"
   address="http://strudl.fabasoft.com"
   session="{~testname~}"
   target="Fabasoft Folio"
   targetinstance="1.1111"
   tier="Webservice"
   tierinstance="fsc"
   level="detail"
   filter="COO.1.1002.1.62"
/>

<Threads ... />Permanent link for this heading

By using threads in the Fabasoft app.test Console Player you can start several tests parallel. Therefore, the Threads tag is available. Within a Threads tag you can define several threads (each one in a Thread tag). These threads are executed parallel. Within a Thread tag you can overwrite the general settings defined in the configuration file. The settings that are not overwritten are taken directly from the configuration file.

Example

<Threads startinterval="100">
   <Thread name="Sequence: CreateAndDeleteObjects">
      <Run
         execute="{~projectpath~}Sequences\CreateAndDeleteObjects.ducx-seq"
         clienttype="HTML_MOZILLA : 3.0"
         scope="8"
      />
      <Agent
         hostname="ubuntuclient"
      />
   </Thread >
   <Thread name="Test: ThirdPartyProducts">
      <Run
         execute="{~projectpath~}Tests\ThirdPartyProducts.ducx-test"
         clienttype="HTML_IE"
         scope="2"
      />
      <Agent
         port="5025"
      />
      <Adaptor
         poshor="200"
         posver="200"
      />
   </Thread >
</Threads>