arjuna.tpi.config module

Provides configuration related public classes.

Provides the Configuration and ConfigBuilder classes.

Configuration class represents the immutable, read-only configuration object.

ConfigBuilder can be used to create new configuration from an existing one.

class arjuna.tpi.config.ConfigBuilder(*, base_config: arjuna.tpi.config.Configuration, auto_name_gen=True, _conf_stage=<ConfigStage.CODED: 4>)

Bases: object

Helps in constructing a new Configuration object from an existing one.

Keyword Arguments:
 
  • base_config – Parent configuration to be used be used as reference for creation of the new Configuration object.
  • auto_gen_name – Generate a unique configuration name in build call if name is not provided. Default is True.

Note

It is not meant to be directly constructed. Use builder method of a Configuration object to create the associated ConfigBuilder object.

Note

You can also use . notation or [] dict notation to add/update an option value.

builder.option = value
builder[option] = value
app(path) → self

(Not supported yet) Configure path for mobile app installer.

Parameters:path – Absolute path of mobile app on test machine.
Returns:Current ConfigBuilder object
appium(context) → self

(Not supported yet) Configure Appium as the automation engine.

Returns:Current ConfigBuilder object
chrome() → self

Configure Chrome as the browser.

Returns:Current ConfigBuilder object
firefox() → self

Configure Firefox as the browser.

Returns:Current ConfigBuilder object
from_file(fpath) → self

Add all options from a .conf file.

Parameters:fpath – Path of .conf file.
Returns:Current ConfigBuilder object

Note

If instead of full absolute path, a name or relative file path is provided, Arjuna creates the path in relation to the default configuration directory - <Project Root>/config.

option(option: ArjunaOptionOrStr, obj: Any) → self

Add/Change option value.

Parameters:
  • option – An ArjunaOption or a string representing ArjunaOption or a user defined option.
  • obj – An object of any type as per the option key.
Returns:

Current ConfigBuilder object

options(option_map: Dict[ArjunaOptionOrStr, Any]) → self

Add/Change multiple option values.

Parameters:option_map – A dictionary of options. Keys are ArjunaOptions or strings and values can be of any type as per the option key.
Returns:Current ConfigBuilder object
register(*, config_name=None)

Register the new configuration.

Keyword Arguments:
 config_name – (Optional) Name that you want to assign to the configuration.

Note

  • Name needs to be unique in a test run. No configuration should exist with the same name.
  • A dynamic, unique name is generated if name is not provided.
selenium() → self

Configure Selenium as the automation engine.

Returns:Current ConfigBuilder object
class arjuna.tpi.config.Configuration(test_session: TestSession, name: str, config: WrappedConfiguration)

Bases: object

Read-only, immutable object that contains a fixed mapping of ArjunaOptions and User defined options.

Parameters:
  • test_session – Current test session object.
  • name – Name of this configuration.
  • config – WrappedConfiguration object. Configuration provides a read-only interface on top of it.

Note

  • You never directly create a Configuration object.
  • It is an outcome of configuration processing that Arjuna does.

Note

  • The option name string is considered by Arjuna as case-insensitive. Also, . (dot) and _ (underscore) are interchangeable. So, following are equivalent arguments
    • ArjunaOption.BROWSER_NAME
    • BROWSER_NAME
    • BrOwSeR_NaMe
    • browser.name
    • Browser.Name
    • and so on

Note

You can also use . notation or [] dict notation to retrieve an option value.

config.option
config[option]
as_dict() → Dict[str, Any]

Get all options.

Returns:A dictionary of all Arjuna Options and User Defined Options
builder

Creates a configuration builder object which takes this configuration as its reference.

Returns:new ConfigBuilder object
get_arjuna_options_as_map() → Dict[ArjunaOptionOrStr, Any]

Get all Arjuna options.

Returns:A dictionary of all Arjuna Options.
is_arjuna_option_not_set(option) → bool

Check if the value for an Arjuna option was set. (Checks for ‘not_set’ string.)

Parameters:option – An ArjunaOption or a string representing ArjunaOption or a user defined option.
Returns:True/False
name

Name of this configuration object.

Returns:Name of this configuration
test_session

Test Session object for this Configuration.

value(option: ArjunaOptionOrStr) → Any

Get the value of a configuration option.

Parameters:option – An ArjunaOption or a string representing ArjunaOption or a user defined option.
Returns:Object of any type, depending on the option.