Default Options in Basic Engine Robot Configuration

In the Configure Robot -> Basic -> Default Options dialog box, you can configure default options for Basic Engine Robots.

All Loading Tab

This tab contains general loading properties, used for both page loading and other types of loading.

Credentials

Default: Standard

As credentials, you can either use standard username/password credentials or OAuth credentials.

If you select Standard, the following properties are available:

Username

This property specifies which username to use for login. The value can be specified in several ways using the Value Selector. Note that this username is used only for HTTP and FTP based login. These types of login normally cause a pop-up window prompt in a browser, and are different from the typical and more commonly used form based method for login.

Password

This property specifies which password to use for login. The value can be specified in several ways using the Value Selector. Note that this password is used only for HTTP and FTP based login. These types of login normally cause a pop-up window prompt in a browser, and are different from the typical and more commonly used form based method for login.

See Web Authentication for more information.

Alternatively, you can use OAuth credentials. OAuth is the preferred authentication mechanism for a number of popular REST APIs. See OAuth on how to use OAuth in Design Studio and Management Console.

Client Certificate

Default: Automatic

This property defines where to get a client certificate when loading from HTTPS URLs. The client certificate may be given directly, or you may refer to one of those that have been installed as described in HTTPS Client Certificates. The options are:

  • Automatic: Selects that one of the installed certificates which is marked as "default". If no certificates have been installed, or none of the installed ones are marked as "default", no client certificate will be used for the connection.

  • Installed Certificate: Selects one of the installed certificates by giving its ID, which was defined when it was installed.

  • Certificate From Variable: The certificate is given as the value of a binary variable. The certificate's password must be given as well, as the value of another variable. If a certificate file contains several certificates, select the necessary one in the "Alias" field. The default value "None" does not specify the certificate entry, and its selection is done automatically.

  • ID From Variable: Selects one of the installed certificates by giving its ID as the value of a variable.

SSL/TLS encryption protocols

Default: Secure TLS

This property specifies the mode to use when loading from HTTPS URLs. This is configurable because some sites give different results, depending on the SSL/TLS version that is used, such as when they do not support modern TLS protocols or because they do not accept weaker protocols that the client provides. Two options are available:

  • Secure TLS: Restricts encrypted connections to use only secure protocols and ciphers. This option supports TLS 1.3 and TLS 1.2.
  • Less secure TLS: Does not apply any restrictions and use all protocols and ciphers supported. This option supports TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0, and SSL3.

    SSL3, TLS 1.0, and TLS 1.1 are blocked by default in the "Call REST Web Service" and "Call SOAP Web Service" steps in the Basic Engine Robot. To enable the protocols, go to C:\Program Files\Kofax RPA (Version)\jre\conf\security\java.security and delete SSLv3, TLSv1, TLSv1.1 values from the parameter jdk.tls.disabledAlgorithms.

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, \
    EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

Verify SSL Certificates

Default: Selected

If this option is selected, the robot verifies the presented SSL certificate.

For security reasons, we recommend that you keep this option selected at all times as a safeguard to prevent data leaks or robot performance issues.

Authentication Method

Default: NTLM

Select authentication protocol to use. You can select from NTLM and Negotiate. If you select Negotiate, you can add specific Negotiate protocol parameters. See Web Authentication for more information.
HTTP User Agent

Default: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36

This property specifies the exact text to send as the value of the HTTP User Agent header. Changing the User Agent header - perhaps in a random manner, obtaining the value from a variable - can be useful to better blend in with other requests to a remote web server.

Language

Default: English (United States) (en_US)

This property specifies which browser language to appear to have, both when queried by JavaScript and when loading something.

Screen Size

Default: 1280 x 1024

This property specifies which screen size to appear to have, if queried by JavaScript.

Referred from this URL

Default: Not specified

This property specifies which URL you want the action to appear to have been referred from when loading something. If you do not specify a URL, the action will appear to be referred from the current page in the robot.

Enable Cookies

Default: Selected

This property specifies whether you want cookies to be enabled.

HTTP Cache

Default: Enabled

This property specifies how you want the robot to use HTTP caching.

  • Enabled: Enables the HTTP Cache and caches HTTP responses based on the rules of HTTP caching.

  • Disabled: Disables HTTP caching.

  • Aggressive: overrides cache directives and enables caching of the resources that are otherwise not cached. The Aggressive option may be helpful to boost performance of high latency sites.

Max. Number of Attempts

Default: 1

This property specifies how many times you want to attempt execution of the action if a load error occurs. The minimum value is "1".

Time Between Attempts (s)

Default: 5.0

This property specifies how many seconds to wait between each attempt to execute the action.

Timeout for Each Attempt (s)

Default: 60.0

This property specifies how many seconds each attempt to execute the action is allowed to take before timing out. The value must be greater than zero.

Additional Headers to Send

Default: From List

This property specifies an optional variable or a list that contains additional HTTP headers to send. The headers must be represented as a text, in the same format as in an HTTP message.

Store Received Status Code Here

Default: (None)

This property specifies an optional variable in which to store received HTTP responses status code. The code will be an integer, and will correspond to the same response for which the received headers were obtained.

Store Received Headers Here

Default: (None)

This property specifies an optional variable in which to store received HTTP headers. The headers will be represented as a text, in the same format as in an HTTP message.

Ignore Load Errors

Default: Not selected

This property specifies whether to ignore errors when the loading of a page or resource fails.

Page Loading Tab

This tab contains properties used specifically for loading pages.

Page Content Type

Default: Automatic

This property specifies the content type of the loaded pages. Usually, the Automatic setting should suffice, but you may also directly specify a content type, either for all pages loaded in the action or for only some of them, depending on their URL.

Follow Meta Redirections

Default: Selected

This property specifies whether to follow <meta>-tag redirections, namely redirections defined by a <meta> in a loaded page.

Load Frames

Default: Selected

This property specifies whether to automatically load the frames of a page.

Images to Load

Default: None

This property specifies whether to automatically load the images of a page. Usually, it is not necessary for the robot to load the images, but you may choose to load the images of a page if you suspect that the image loading has side-effects that are necessary for the navigation of the page. In that case, you may choose to load all of the images on the page or only some, depending on their URL.

Page Changes

Default: (None)

This property allows you to change the loaded pages on-the-fly before they are parsed. This is useful for things like correcting syntax errors, solving other parsing problems, removing or changing tags, and so on.

The changes are done by specifying one or more data converters that will be applied to the pages before the parsing. You can either specify data converters to apply on all pages, or data converters to apply to individual pages depending on their URL.

The most common data converters to use for page changes are Replace Text, Replace Pattern, and Remove Tags. When configuring the data converters, remember that they will be applied to the original, unprocessed text of the page, before decoding of ampersand encodings, and so on. Therefore, it is recommended that you obtain this text, for example using the View Source function of your standard browser. In the data converter configuration window, you can paste the text into the input area in the lower left corner to test that the converter performs the desired action on the text.

If you want to make changes to JavaScript, use the JavaScript Changes property on the JavaScript Execution tab instead.

Output Page If Timeout

Default: Selected

This property specifies what occurs when the action times out. If disabled, the action fails in the event of a timeout. If enabled, the result received so far is the output. Note the following for this property:

  • When older Default browser (WebKit) robots that have "false" as default for this property are opened in a new version of Kofax RPA, Output Page If Timeout is set to false in the robot's browser configuration.

  • When creating a new Default browser robot, the Output Page If Timeout property is set to true by default.

URL Filtering Tab

This tab controls the configuration of what URLs to block, for instance to block the loading of ad frames. The settings on this tab are only valid for Basic Engine Robots.

Filter URLs

Default: Selected

This property specifies whether to block loading of certain URLs. The URLs to be blocked are specified as pattern in the list of Included URL Patterns and Excluded URL Patterns, respectively. Only URLs occurring in the following tags may be blocked:

Included URL Patterns

Default: Not specified

If specified, only URLs that match these patterns will not be blocked. Each pattern must be written on a separate line. A URL that matches one of these patterns may still be blocked, if it matches one of the Blocked URL Patterns specified below. A typical use of this property is to specify a pattern that matches only URLs of a single domain, so that only frames and scripts from that domain are loaded.

  • <frame src="URL">
  • <iframe src="URL">
  • <script src="URL">

If a URL is blocked no request is performed and content is left empty. In the case of frame and iframes there will still be a new window in the page view and this will be showing a message explaining why the load was not performed. A red block icon on the tab of the window in the page view will indicate that the URL was blocked.

Blocked URL Patterns

Default: Click Set to Default to see the default list of URLs to block

This property specifies which URLs to block. This is specified by writing a list of patterns with one pattern on each line.

JavaScript Execution Tab

This tab contains properties used for executing JavaScript. These properties allow you to customize the JavaScript execution in case the default automatic execution does not work correctly.

Execute JavaScript

Default: Selected

This property specifies whether JavaScript should be executed.

Ignore Alert Messages

Default: Not selected

A common way to handle alert messages in a robot is to configure this property to ignore them, and then configure the Store Ignored Alert Messages Here property below so that ignored alert messages are stored in an appropriate variable. In a subsequent step, this variable can then be tested and suitable action taken if it contains an alert message.

Store Ignored Alert Messages Here

Default: (None)

This property specifies a variable in which ignored alert messages should be stored. This is relevant only when the Ignore Alert Messages option has been selected above.

Delay Between Key Presses (ms)

Default: 0

This property specifies the amount of milliseconds to wait between key presses when emulating a user typing on a keyboard. This only has relevance for steps that enter text into a form.

JavaScript Changes

Default: Not specified

JavaScript changes are an optional list of data converters that will be applied to the JavaScript before it is executed. The changes are applied to all JavaScript that is executed, both event handlers, internal and external scripts. The data converters are useful for making changes and corrections to the JavaScript, for example, when JavaScript cannot work correctly in a browser that uses unsupported language constructs.

When configuring the data converters, remember that they will be applied to the original JavaScript. Therefore, it is recommended that you obtain this text, e.g. using the View Source function of your standard browser for inline JavaScript or by downloading the file in case of external JavaScript. In the data converter configuration window, you can paste the text into the input area in the lower left corner to test that the converter performs the desired action on the text.

This option affects the way JavaScript is executed on pages that you load.

JavaScript Polyfills

Default: Not specified

The default Kofax RPA browser (WebKit) may not support some of the JavaScript features, including modern statements, built-in functions, and objects. To enable support for new functionality, Kofax RPA can load predefined or custom JavaScript polyfills.

A polyfill is a piece of code (usually JavaScript on the Web) that provides modern functionality in browsers that do not natively support it.

In case of error, the JavaScript console shows which JavaScript object does not exist. According to this information, a necessary polyfill can be found and applied to resolve an error.

Click Add (+) to select an object or API that you want the browser to support. You can also include a custom code that provides support for certain JavaScript objects or API. To include a custom implementation, click Add (+) and select Custom in the list. The Custom dialog box contains two panes, such as Name and Code. Specify the name of your code implementation in the Name pane and paste your JavaScript code to the Code pane.

The JavaScript object implementation code is executed before the page loads.

See the list of predefined polyfills in Predefined JavaScript Polyfills.

But there are lots of modern JavaScript constructions, where applying polyfills does not resolve an error. See the list of JavaScript known issues in Kofax RPA Limitations.

Plugins Tab

This tab contains parameters to add and configure simulated plugins when using the browser.

Simulate support for
Default: From List
  • From List: Click the plus sign and select a plugin from the list.

  • From JSON Variable: Construct your own plugins using a JSON variable.

    See Plugin Simulation from JSON Variable for more details.

Legacy Tab

This tab contains properties that should not be changed in most cases. The legacy properties have been introduced to ensure backward compatibility with older version of the product. If a new feature is introduced in the product that conflicts with the way things were done previously, an option is introduced on this tab to ensure old robots will work and be backward compatible. On this tab, the default setting represents the current way and the other setting is the old way.

Format Handling

Default: Download non-HTML

This option specifies how to handle different document formats.

Download non-HTML
Kofax RPA loads all supported non-HTML content to work with. You can preview CSV, JSON, text, Excel, XML, and binary content and apply steps to them. Use the Preview button to change the type of the content.
Classic loading
You can specify how to handle different document formats for classic browser engine.
JSON

Default: Do not Convert

This property specifies how to handle JSON, which is one of the common response types when calling web services. You can convert the JSON to XML, which makes it easy to handle in a standard way in Design Studio. Alternatively, it can be converted to HTML. The HTML is more readable than XML, but somewhat harder to extract from automatically.

Convert XML to HTML

Default: Not selected

This property specifies whether to convert XML documents to HTML documents or keep them as-is. It is mainly used in old robots that work on the converted documents, as this was previously the only option. In newer robots, it is normally more convenient to work directly on the XML structure.

To view XML content with the applied XSLT transformation in the Applications view, select Configure Robot > Default Options > Configure > Legacy > Format Handling > Classic loading and clear the Convert XML to HTML option.
Convert Excel to HTML

Default: Not selected

This property specifies whether to convert Excel documents to HTML documents or keep them as-is. It is mainly used in old robots that work on the converted documents, as this was previously the only option. In newer robots, it is normally more convenient to work directly on the Excel document, as this provides a faster and more spreadsheet-like display and user interface.

CSV

Default: Convert to HTML

This property specifies whether to convert CSV documents to HTML documents or keep them as text (in a PRE-tag). It is mainly used in old robots that work on the text representation, as this was previously the only option. In newer robots, it is normally more convenient to work on a HTML table representation of the CSV document and use the full power of Design Studio when doing so. It is assumed that the CSV documents is encoded using commas (,) as separator character, double quotes (") as quoting character and backslash (\) as escape character. If the document you are loading does not conform to this convention you should use the Convert to Text option and work on the document as text, e.g. using the Extract CSV step.

Migration Tab

This tab contains a migration log of the robot that was upgraded from the Classic browser to the WebKit (Default) browser. The log lists all values that were changed during the upgrade. See Upgrade Basic Engine Robots for details.