Skip to content

pytest_add_option_hook

This module contains the PytestAddOptionHook class which is used to add custom options to the pytest command line.

These options can be used to customize the behavior of the pytest framework for specific test runs.

PytestAddOptionHook

A class that adds custom options to the pytest command line.

Attributes:

Name Type Description
parser_obj Parser

The parser object used to add options.

Methods:

Name Description
add_option_hook

Adds the custom options to the pytest command line.

Source code in libs\cafex_core\src\cafex_core\utils\hooks_\pytest_add_option_hook.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
class PytestAddOptionHook:
    """A class that adds custom options to the pytest command line.

    Attributes:
        parser_obj (Parser): The parser object used to add options.

    Methods:
        add_option_hook: Adds the custom options to the pytest command line.
    """

    def __init__(self, parser_obj):
        """Initialize the PytestAddOptionHook class.

        Args:
            parser_obj: The parser object used to add options.
        """
        self.parser_obj = parser_obj

    def add_option_hook(self):
        """Adds the custom options to the pytest command line.

        The options include environment settings, selenium grid
        settings, browser settings, user credentials, custom parameters,
        reporting settings, and Jenkins settings.
        """

        self.parser_obj.addoption("--environment", action="store", default=None)
        self.parser_obj.addoption("--environment_type", action="store", default=None)
        self.parser_obj.addoption("--execution_environment", action="store", default=None)

        self.parser_obj.addoption("--selenium_grid_ip", action="store", default=None)
        self.parser_obj.addoption("--selenium_grid_port", action="store", default=None)
        self.parser_obj.addoption("--browser", action="store", default=None)
        self.parser_obj.addoption("--chrome_options", action="store", default=None)
        self.parser_obj.addoption("--firefox_options", action="store", default=None)
        self.parser_obj.addoption("--edge_options", action="store", default=None)
        self.parser_obj.addoption("--ie_options", action="store", default=None)
        self.parser_obj.addoption("--safari_options", action="store", default=None)

        self.parser_obj.addoption(
            "--mobile_os", action="store", default=None, help="Mobile OS: ios/android"
        )
        self.parser_obj.addoption(
            "--mobile_platform",
            action="store",
            default=None,
            help="Mobile Platform: browserstack/device/simulator",
        )
        self.parser_obj.addoption("--ios_device_json", action="store", default=None)
        self.parser_obj.addoption("--android_device_json", action="store", default=None)
        self.parser_obj.addoption("--username", action="store", default=None)
        self.parser_obj.addoption("--password", action="store", default=None)
        self.parser_obj.addoption("--default_db_user__username", action="store", default=None)
        self.parser_obj.addoption("--default_db_user__password", action="store", default=None)

        self.parser_obj.addoption("--custom_params", action="store", default=None)
        self.parser_obj.addoption("--config_keys", action="store", default=None)
        self.parser_obj.addoption("--kibana_reporting", action="store", default=None)
        self.parser_obj.addoption("--auto_dashboard_report", action="store", default=None)
        self.parser_obj.addoption("--default_keys", action="store", default=None)
        self.parser_obj.addoption("--default_values", action="store", default=None)

        self.parser_obj.addoption("--triggeredby", action="store", default=None)
        self.parser_obj.addoption("--jenkinsslavename", action="store", default=None)
        self.parser_obj.addoption("--reponame", action="store", default=None)
        self.parser_obj.addoption("--branchname", action="store", default=None)
        self.parser_obj.addoption("--devbuildnumber", action="store", default=None)
        self.parser_obj.addoption("--jenkins_build", action="store", default=None)

__init__(parser_obj)

Initialize the PytestAddOptionHook class.

Parameters:

Name Type Description Default
parser_obj

The parser object used to add options.

required
Source code in libs\cafex_core\src\cafex_core\utils\hooks_\pytest_add_option_hook.py
19
20
21
22
23
24
25
def __init__(self, parser_obj):
    """Initialize the PytestAddOptionHook class.

    Args:
        parser_obj: The parser object used to add options.
    """
    self.parser_obj = parser_obj

add_option_hook()

Adds the custom options to the pytest command line.

The options include environment settings, selenium grid settings, browser settings, user credentials, custom parameters, reporting settings, and Jenkins settings.

Source code in libs\cafex_core\src\cafex_core\utils\hooks_\pytest_add_option_hook.py
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def add_option_hook(self):
    """Adds the custom options to the pytest command line.

    The options include environment settings, selenium grid
    settings, browser settings, user credentials, custom parameters,
    reporting settings, and Jenkins settings.
    """

    self.parser_obj.addoption("--environment", action="store", default=None)
    self.parser_obj.addoption("--environment_type", action="store", default=None)
    self.parser_obj.addoption("--execution_environment", action="store", default=None)

    self.parser_obj.addoption("--selenium_grid_ip", action="store", default=None)
    self.parser_obj.addoption("--selenium_grid_port", action="store", default=None)
    self.parser_obj.addoption("--browser", action="store", default=None)
    self.parser_obj.addoption("--chrome_options", action="store", default=None)
    self.parser_obj.addoption("--firefox_options", action="store", default=None)
    self.parser_obj.addoption("--edge_options", action="store", default=None)
    self.parser_obj.addoption("--ie_options", action="store", default=None)
    self.parser_obj.addoption("--safari_options", action="store", default=None)

    self.parser_obj.addoption(
        "--mobile_os", action="store", default=None, help="Mobile OS: ios/android"
    )
    self.parser_obj.addoption(
        "--mobile_platform",
        action="store",
        default=None,
        help="Mobile Platform: browserstack/device/simulator",
    )
    self.parser_obj.addoption("--ios_device_json", action="store", default=None)
    self.parser_obj.addoption("--android_device_json", action="store", default=None)
    self.parser_obj.addoption("--username", action="store", default=None)
    self.parser_obj.addoption("--password", action="store", default=None)
    self.parser_obj.addoption("--default_db_user__username", action="store", default=None)
    self.parser_obj.addoption("--default_db_user__password", action="store", default=None)

    self.parser_obj.addoption("--custom_params", action="store", default=None)
    self.parser_obj.addoption("--config_keys", action="store", default=None)
    self.parser_obj.addoption("--kibana_reporting", action="store", default=None)
    self.parser_obj.addoption("--auto_dashboard_report", action="store", default=None)
    self.parser_obj.addoption("--default_keys", action="store", default=None)
    self.parser_obj.addoption("--default_values", action="store", default=None)

    self.parser_obj.addoption("--triggeredby", action="store", default=None)
    self.parser_obj.addoption("--jenkinsslavename", action="store", default=None)
    self.parser_obj.addoption("--reponame", action="store", default=None)
    self.parser_obj.addoption("--branchname", action="store", default=None)
    self.parser_obj.addoption("--devbuildnumber", action="store", default=None)
    self.parser_obj.addoption("--jenkins_build", action="store", default=None)