Skip to content

chore(deps): lock file maintenance #814

chore(deps): lock file maintenance

chore(deps): lock file maintenance #814

GitHub Actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2 failed Sep 28, 2023 in 1s

test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2 ❌

Tests failed

❌ test-results/test.xml

43 tests were completed in 7489s with 0 passed, 43 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 43❌ 7489s

❌ pytest

tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput
  ❌ test_example_input_two_required_field_name
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_name>>
  ❌ test_example_input_two_valid_length_name
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_length_name>>
  ❌ test_example_input_two_valid_input_name
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_name>>
  ❌ test_example_input_two_required_field_interval
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_interval>>
  ❌ test_example_input_two_valid_input_interval
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_interval>>
  ❌ test_example_input_two_required_field_index
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_index>>
  ❌ test_example_input_two_default_value_index
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_default_value_index>>
  ❌ test_example_input_two_required_field_example_example_account
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_example_account>>
  ❌ test_example_input_two_required_field_example_multiple_select
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_multiple_select>>
  ❌ test_example_input_two_list_example_multiple_select
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_list_example_multiple_select>>
  ❌ test_example_input_two_select_select_value_example_multiple_select
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_select_select_value_example_multiple_select>>
  ❌ test_example_input_two_select_multiple_values_example_multiple_select
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_select_multiple_values_example_multiple_select>>
  ❌ test_example_input_two_help_text_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_help_text_entity>>
  ❌ test_example_input_two_checked_example_checkbox
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_checked_example_checkbox>>
  ❌ test_example_input_two_unchecked_example_checkbox
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_unchecked_example_checkbox>>
  ❌ test_example_input_two_required_field_example_radio
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_radio>>
  ❌ test_example_input_two_select_value_example_radio
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_select_value_example_radio>>
  ❌ test_example_input_two_valid_input_query_start_date
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_query_start_date>>
  ❌ test_example_input_two_add_frontend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_frontend_validation>>
  ❌ test_example_input_two_add_backend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_backend_validation>>
  ❌ test_example_input_two_edit_uneditable_field_name
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_uneditable_field_name>>
  ❌ test_example_input_two_edit_frontend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_frontend_validation>>
  ❌ test_example_input_two_edit_backend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_backend_validation>>
  ❌ test_example_input_two_clone_default_values
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_default_values>>
  ❌ test_example_input_two_clone_frontend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_frontend_validation>>
  ❌ test_example_input_two_clone_backend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_backend_validation>>
  ❌ test_example_input_two_delete_row_frontend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_row_frontend_validation>>
  ❌ test_example_input_two_delete_row_backend_validation
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_row_backend_validation>>
  ❌ test_example_input_two_add_close_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_close_entity>>
  ❌ test_example_input_two_edit_close_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_close_entity>>
  ❌ test_example_input_two_clone_close_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_close_entity>>
  ❌ test_example_input_two_delete_close_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_close_entity>>
  ❌ test_example_input_two_add_cancel_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_cancel_entity>>
  ❌ test_example_input_two_edit_cancel_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_cancel_entity>>
  ❌ test_example_input_two_clone_cancel_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_cancel_entity>>
  ❌ test_example_input_two_delete_cancel_entity
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_cancel_entity>>
  ❌ test_example_input_two_add_duplicate_names
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_duplicate_names>>
  ❌ test_example_input_two_clone_duplicate_names
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_duplicate_names>>
  ❌ test_example_input_two_add_valid_title
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_add_valid_title>>
  ❌ test_example_input_two_edit_valid_title
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_edit_valid_title>>
  ❌ test_example_input_two_clone_valid_title
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_clone_valid_title>>
  ❌ test_example_input_two_delete_valid_title
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_valid_title>>
  ❌ test_example_input_two_delete_valid_prompt_message
	request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_delete_valid_prompt_message>>

Annotations

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_required_field_name

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_name>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_name>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670bf6b00>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_required_field_name'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670bf6b00>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670bf7d30>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670bf6b00>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670bf7d30>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670bf6b00>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670bf7d30>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="72b394b70926423fb271963374dff6d0")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="72b394b70926423fb271963374dff6d0")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670bf6080>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x007ACE43+45171]\\n\\t(No symbol) [0x007390...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_valid_length_name

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_length_name>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_length_name>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_length_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_length_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670aab910>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_valid_length_name'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
>           raise e

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:203: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670aab910>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_valid_length_name'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
>                   self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="None")>
command_executor = 'https://ondemand.saucelabs.com:443/wd/hub'
desired_capabilities = {'browserName': 'chrome', 'browserVersion': 'latest', 'goog:chromeOptions': {'args': ['ignore-certificate-errors', 'ignore-ssl-errors=yes'], 'w3c': True}, 'platformName': 'Windows 10', ...}
browser_profile = None, proxy = None, keep_alive = False, file_detector = None
options = None

    def __init__(self, command_executor='http://127.0.0.1:4444/wd/hub',
                 desired_capabilities=None, browser_profile=None, proxy=None,
                 keep_alive=False, file_detector=None, options=None):
        """
        Create a new driver that will issue commands using the wire protocol.
    
        :Args:
         - command_executor - Either a string representing URL of the remote server or a custom
             remote_connection.RemoteConnection object. Defaults to 'http://127.0.0.1:4444/wd/hub'.
         - desired_capabilities - A dictionary of capabilities to request when
             starting the browser session. Required parameter.
         - browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object.
             Only used if Firefox is requested. Optional.
         - proxy - A selenium.webdriver.common.proxy.Proxy object. The browser session will
             be started with given proxy settings, if possible. Optional.
         - keep_alive - Whether to configure remote_connection.RemoteConnection to use
             HTTP keep-alive. Defaults to False.
         - file_detector - Pass custom file detector object during instantiation. If None,
             then default LocalFileDetector() will be used.
         - options - instance of a driver options.Options class
        """
        capabilities = {}
        if options is not None:
            capabilities = options.to_capabilities()
        if desired_capabilities is not None:
            if not isinstance(desired_capabilities, dict):
                raise WebDriverException("Desired Capabilities must be a dictionary")
            else:
                capabilities.update(desired_capabilities)
        if proxy is not None:
            warnings.warn("Please use FirefoxOptions to set proxy",
                          DeprecationWarning, stacklevel=2)
            proxy.add_to_capabilities(capabilities)
        self.command_executor = command_executor
        if type(self.command_executor) is bytes or isinstance(self.command_executor, str):
            self.command_executor = RemoteConnection(command_executor, keep_alive=keep_alive)
        self._is_remote = True
        self.session_id = None
        self.capabilities = {}
        self.error_handler = ErrorHandler()
        self.start_client()
        if browser_profile is not None:
            warnings.warn("Please use FirefoxOptions to set browser profile",
                          DeprecationWarning, stacklevel=2)
>       self.start_session(capabilities, browser_profile)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:157: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="None")>
capabilities = {'browserName': 'chrome', 'browserVersion': 'latest', 'goog:chromeOptions': {'args': ['ignore-certificate-errors', 'ignore-ssl-errors=yes'], 'w3c': True}, 'platformName': 'Windows 10', ...}
browser_profile = None

    def start_session(self, capabilities, browser_profile=None):
        """
        Creates a new session with the desired capabilities.
    
        :Args:
         - browser_name - The name of the browser to request.
         - version - Which browser version to request.
         - platform - Which platform to request the browser on.
         - javascript_enabled - Whether the new session should support JavaScript.
         - browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.
        """
        if not isinstance(capabilities, dict):
            raise InvalidArgumentException("Capabilities must be a dictionary")
        if browser_profile:
            if "moz:firefoxOptions" in capabilities:
                capabilities["moz:firefoxOptions"]["profile"] = browser_profile.encoded
            else:
                capabilities.update({'firefox_profile': browser_profile.encoded})
        w3c_caps = _make_w3c_caps(capabilities)
        parameters = {"capabilities": w3c_caps,
                      "desiredCapabilities": capabilities}
>       response = self.execute(Command.NEW_SESSION, parameters)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:252: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="None")>
driver_command = 'newSession'
params = {'capabilities': {'alwaysMatch': {'browserName': 'chrome', 'browserVersion': 'latest', 'goog:chromeOptions': {'args': ...ns': {'args': ['ignore-certificate-errors', 'ignore-ssl-errors=yes'], 'w3c': True}, 'platformName': 'Windows 10', ...}}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670aa8910>
response = {'status': 500, 'value': '{"status": 13, "sessionId": "new_request:4452770", "value": {"message": "Unexpected server error."}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: Unexpected server error.

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_valid_input_name

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_name>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_name>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_input_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_input_name>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670caadd0>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_valid_input_name'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670caadd0>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ca9fc0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670caadd0>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ca9fc0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670caadd0>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ca9fc0>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="1b790ffab5d44e19934b0711208dbb6f")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="1b790ffab5d44e19934b0711208dbb6f")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670cab820>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x0045CE43+45171]\\n\\t(No symbol) [0x003E90...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_required_field_interval

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_interval>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_interval>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_interval>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_interval>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a065c0>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_required_field_interval'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a065c0>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a07730>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a065c0>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a07730>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a065c0>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a07730>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="a4d145ba78df4b8c9d38db026faae083")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="a4d145ba78df4b8c9d38db026faae083")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670a07790>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x0084CE43+45171]\\n\\t(No symbol) [0x007D90...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_valid_input_interval

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_interval>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_valid_input_interval>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_input_interval>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_valid_input_interval>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670c66a10>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_valid_input_interval'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670c66a10>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670c649a0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670c66a10>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670c649a0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670c66a10>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670c649a0>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="b73c4c9b874943e9be7cae805905f3ea")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="b73c4c9b874943e9be7cae805905f3ea")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670c64d90>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x002DCE43+45171]\\n\\t(No symbol) [0x002690...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_required_field_index

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_index>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_index>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_index>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_index>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a3b9a0>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_required_field_index'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a3b9a0>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a38040>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a3b9a0>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a38040>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a3b9a0>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a38040>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="2a67b4f526c4489cb9c52a9e68efc27e")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="2a67b4f526c4489cb9c52a9e68efc27e")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670a39840>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x005BCE43+45171]\\n\\t(No symbol) [0x005490...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_default_value_index

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_default_value_index>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_default_value_index>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_default_value_index>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_default_value_index>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670abd270>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_default_value_index'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670abd270>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670abe4d0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670abd270>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670abe4d0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670abd270>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670abe4d0>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="d86ed2b75ebc4951b5e782ccee12c919")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="d86ed2b75ebc4951b5e782ccee12c919")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670abd150>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x010BCE43+45171]\\n\\t(No symbol) [0x010490...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_required_field_example_example_account

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_example_account>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_example_account>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_example_example_account>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_example_example_account>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a07010>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_required_field_example_example_account'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a07010>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a05000>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a07010>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a05000>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a07010>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a05000>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="9c09fa7e20f34034a97e13265e838cb0")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="9c09fa7e20f34034a97e13265e838cb0")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670a07b20>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x00E3CE43+45171]\\n\\t(No symbol) [0x00DC90...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_required_field_example_multiple_select

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_multiple_select>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_required_field_example_multiple_select>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_required_field_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670ad1b40>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_required_field_example_multiple_select'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670ad1b40>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ad3dc0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670ad1b40>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ad3dc0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670ad1b40>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670ad3dc0>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="66cdc277fe2f4c80bd2afa295b6ba024")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="66cdc277fe2f4c80bd2afa295b6ba024")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670ad13f0>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x00BCCE43+45171]\\n\\t(No symbol) [0x00B590...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_list_example_multiple_select

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_list_example_multiple_select>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_list_example_multiple_select>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_list_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_list_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670b29300>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_list_example_multiple_select'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670b29300>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670b2bca0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670b29300>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670b2bca0>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670b29300>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670b2bca0>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="e14c69ae96f34cb6a1242412bc49b6f6")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="e14c69ae96f34cb6a1242412bc49b6f6")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670b2a200>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x00B3CE43+45171]\\n\\t(No symbol) [0x00AC90...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException

Check failure on line 0 in test-results/test.xml

See this annotation in the file changed.

@github-actions github-actions / test-report-9.1.1__chrome_test_splunk_ta_example_addon_input_2

pytest ► tests.ui.test_splunk_ta_example_addon_input_2.chrome_TestInput ► test_example_input_two_select_select_value_example_multiple_select

Failed test found in:
  test-results/test.xml
Error:
  request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_select_select_value_example_multiple_select>>
Raw output
request = <SubRequest 'ucc_smartx_selenium_wrapper' for <Function test_example_input_two_select_select_value_example_multiple_select>>

    @pytest.fixture(scope="function", autouse=True)
    def ucc_smartx_selenium_wrapper(request):
        """
        Calls ucc_smartx_selenium_helper fixture
        """
        if "ucc_smartx_selenium_helper" in request.fixturenames:
>           request.node.selenium_helper = request.getfixturevalue(
                "ucc_smartx_selenium_helper"
            )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_select_select_value_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
                selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )
                break
            except Exception as e:
                last_exc = e
                LOGGER.warning(
                    "Failed to configure the browser or login to Splunk instance for - Try={} \nTRACEBACK::{}".format(
                        try_number, traceback.format_exc()
                    )
                )
        else:
            LOGGER.error(
                "Could not connect to Browser or login to Splunk instance. Please check the logs for detailed error of each retry"
            )
>           raise (last_exc)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

request = <SubRequest 'ucc_smartx_selenium_helper' for <Function test_example_input_two_select_select_value_example_multiple_select>>
ucc_smartx_configs = SmartConfigs(driver='chrome', driver_version='latest', local_run=False, retry_count=3, headless_run=False)
splunk = {'forwarder_host': 'splunk', 'host': 'splunk', 'password': 'Chang3d!', 'port': '8089', ...}
splunk_web_uri = 'http://splunk:8000/'
splunk_rest_uri = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')

    @pytest.fixture(scope=get_browser_scope)
    def ucc_smartx_selenium_helper(
        request, ucc_smartx_configs, splunk, splunk_web_uri, splunk_rest_uri
    ):
        # Try to configure selenium & Login to splunk instance
        test_case = "{}_{}".format(
            ucc_smartx_configs.driver, request.node.nodeid.split("::")[-1]
        )
        for try_number in range(ucc_smartx_configs.retry_count):
            last_exc = Exception()
            try:
>               selenium_helper = SeleniumHelper(
                    ucc_smartx_configs.driver,
                    ucc_smartx_configs.driver_version,
                    splunk_web_uri,
                    splunk_rest_uri,
                    debug=ucc_smartx_configs.local_run,
                    cred=(splunk["username"], splunk["password"]),
                    headless=ucc_smartx_configs.headless_run,
                    test_case=test_case,
                )

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/plugin.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a32440>
browser = 'chrome', browser_version = 'latest'
splunk_web_url = 'http://splunk:8000/'
splunk_mgmt_url = (<requests.sessions.Session object at 0x7f4670cf0820>, 'https://splunk:8089/')
debug = False, cred = ('admin', 'Chang3d!'), headless = False
test_case = 'chrome_test_example_input_two_select_select_value_example_multiple_select'

    def __init__(
        self,
        browser,
        browser_version,
        splunk_web_url,
        splunk_mgmt_url,
        debug=False,
        cred=("admin", "Chang3d!"),
        headless=False,
        test_case=None,
    ):
        self.splunk_web_url = splunk_web_url
        self.splunk_mgmt_url = splunk_mgmt_url
        self.cred = cred
        self.test_case = test_case
        self.skip_saucelab_job = False
    
        if "grid" in browser:
            self.skip_saucelab_job = True
            debug = True
    
        if not debug:
            # Using Saucelabs
            self.init_sauce_env_variables()
    
        try:
            if browser == "firefox":
                if debug:
                    self.browser = webdriver.Firefox(
                        firefox_options=self.get_local_firefox_opts(headless),
                        log_path="selenium.log",
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_firefox_opts(
                            browser_version
                        ),
                    )
    
            elif browser == "chrome":
                if debug:
                    self.browser = webdriver.Chrome(
                        chrome_options=self.get_local_chrome_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_chrome_opts(
                            browser_version
                        ),
                    )
    
            # selenium local stack
            elif browser == "chrome_grid":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://chrome-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_grid":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://firefox-grid:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
            # kubernetes selenium
            elif browser == "chrome_k8s":
                google_cert_opts = {
                    "goog:chromeOptions": {
                        "w3c": True,
                        "args": ["ignore-certificate-errors", "ignore-ssl-errors=yes"],
                    }
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts("chrome", google_cert_opts),
                )
            elif browser == "firefox_k8s":
                firefox_cert_opts = {
                    "acceptInsecureCerts": True,
                    "acceptSslCerts": True,
                }
    
                self.browser = webdriver.Remote(
                    command_executor="http://selenium-hub.selenium.svc.cluster.local:4444/wd/hub",
                    desired_capabilities=self.get_grid_opts(
                        "firefox", firefox_cert_opts
                    ),
                )
    
            elif browser == "edge":
                if debug:
                    self.browser = Edge(
                        executable_path="msedgedriver",
                        desired_capabilities=self.get_local_edge_opts(headless),
                        service_args=["--verbose", "--log-path=selenium.log"],
                    )
                else:
                    command_executor = EdgeRemoteConnection(
                        "https://ondemand.saucelabs.com:443/wd/hub"
                    )
                    options = EdgeOptions()
                    options.use_chromium = True
                    self.browser = webdriver.Remote(
                        command_executor=command_executor,
                        options=options,
                        desired_capabilities=self.get_sauce_edge_opts(browser_version),
                    )
    
            elif browser == "IE":
                if debug:
                    self.browser = webdriver.Ie(capabilities=self.get_local_ie_opts())
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_ie_opts(browser_version),
                    )
            elif browser == "safari":
                if debug:
                    self.browser = webdriver.Safari()
                else:
                    self.browser = webdriver.Remote(
                        command_executor="https://ondemand.saucelabs.com:443/wd/hub",
                        desired_capabilities=self.get_sauce_safari_opts(
                            browser_version
                        ),
                    )
            else:
                raise Exception(
                    "No valid browser found.! expected=[firefox, chrome, safari], got={}".format(
                        browser
                    )
                )
        except Exception as e:
            raise e
    
        try:
            self.browser_session = self.browser.session_id
>           self.login_to_splunk(*self.cred)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:207: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a32440>
cred = ('admin', 'Chang3d!')

    def login_to_splunk(self, *cred):
        try:
>           login_page = LoginPage(self)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/base_test.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a31060>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a32440>

    def __init__(self, ucc_smartx_selenium_helper):
        """
        :param ucc_smartx_selenium_helper: Fixture with selenium driver, urls(web, mgmt) and session key
        """
    
>       super().__init__(ucc_smartx_selenium_helper, ucc_smartx_rest_helper=None)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/login.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a31060>
ucc_smartx_selenium_helper = <pytest_splunk_addon_ui_smartx.base_test.SeleniumHelper object at 0x7f4670a32440>
ucc_smartx_rest_helper = None, open_page = True

    def __init__(
        self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, open_page=True
    ):
        """
        :param ucc_smartx_selenium_helper: The selenium webdriver
        :param ucc_smartx_rest_helper: Splunk web & management url. {"web": , "mgmt": }
        """
        if ucc_smartx_selenium_helper:
            self.browser = ucc_smartx_selenium_helper.browser
            self.splunk_web_url = ucc_smartx_selenium_helper.splunk_web_url
            if open_page:
>               self.open()

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_splunk_addon_ui_smartx.pages.login.LoginPage object at 0x7f4670a31060>

    def open(self):
        """
        Abstract Method. Open the page
        """
>       self.browser.get(self.splunk_web_url)

/usr/local/lib/python3.10/dist-packages/pytest_splunk_addon_ui_smartx/pages/page.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="7707b5a5e65d426cac82ee17cf8ce2d7")>
url = 'http://splunk:8000/'

    def get(self, url):
        """
        Loads a web page in the current browser session.
        """
>       self.execute(Command.GET, {'url': url})

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.webdriver.WebDriver (session="7707b5a5e65d426cac82ee17cf8ce2d7")>
driver_command = 'get', params = {'url': 'http://splunk:8000/'}

    def execute(self, driver_command, params=None):
        """
        Sends a command to be executed by a command.CommandExecutor.
    
        :Args:
         - driver_command: The name of the command to execute as a string.
         - params: A dictionary of named parameters to send with the command.
    
        :Returns:
          The command's JSON response loaded into a dictionary object.
        """
        if self.session_id is not None:
            if not params:
                params = {'sessionId': self.session_id}
            elif 'sessionId' not in params:
                params['sessionId'] = self.session_id
    
        params = self._wrap_value(params)
        response = self.command_executor.execute(driver_command, params)
        if response:
>           self.error_handler.check_response(response)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/webdriver.py:321: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4670a30df0>
response = {'status': 500, 'value': '{"value": {"stacktrace": "\\tGetHandleVerifier [0x00EBCE43+45171]\\n\\t(No symbol) [0x00E490...ge": "unknown error: net::ERR_NAME_NOT_RESOLVED\\n  (Session info: chrome=117.0.5938.63)", "error": "unknown error"}}'}

    def check_response(self, response):
        """
        Checks that a JSON response from the WebDriver does not have an error.
    
        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.
    
        :Raises: If the response contains an error message.
        """
        status = response.get('status', None)
        if status is None or status == ErrorCode.SUCCESS:
            return
        value = None
        message = response.get("message", "")
        screen = response.get("screen", "")
        stacktrace = None
        if isinstance(status, int):
            value_json = response.get('value', None)
            if value_json and isinstance(value_json, basestring):
                import json
                try:
                    value = json.loads(value_json)
                    if len(value.keys()) == 1:
                        value = value['value']
                    status = value.get('error', None)
                    if status is None:
                        status = value["status"]
                        message = value["value"]
                        if not isinstance(message, basestring):
                            value = message
                            message = message.get('message')
                    else:
                        message = value.get('message', None)
                except ValueError:
                    pass
    
        exception_class = ErrorInResponseException
        if status in ErrorCode.NO_SUCH_ELEMENT:
            exception_class = NoSuchElementException
        elif status in ErrorCode.NO_SUCH_FRAME:
            exception_class = NoSuchFrameException
        elif status in ErrorCode.NO_SUCH_WINDOW:
            exception_class = NoSuchWindowException
        elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
            exception_class = StaleElementReferenceException
        elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
            exception_class = ElementNotVisibleException
        elif status in ErrorCode.INVALID_ELEMENT_STATE:
            exception_class = InvalidElementStateException
        elif status in ErrorCode.INVALID_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR \
                or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
            exception_class = InvalidSelectorException
        elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
            exception_class = ElementNotSelectableException
        elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
            exception_class = ElementNotInteractableException
        elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
            exception_class = InvalidCookieDomainException
        elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
            exception_class = UnableToSetCookieException
        elif status in ErrorCode.TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.SCRIPT_TIMEOUT:
            exception_class = TimeoutException
        elif status in ErrorCode.UNKNOWN_ERROR:
            exception_class = WebDriverException
        elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
            exception_class = UnexpectedAlertPresentException
        elif status in ErrorCode.NO_ALERT_OPEN:
            exception_class = NoAlertPresentException
        elif status in ErrorCode.IME_NOT_AVAILABLE:
            exception_class = ImeNotAvailableException
        elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
            exception_class = ImeActivationFailedException
        elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
            exception_class = MoveTargetOutOfBoundsException
        elif status in ErrorCode.JAVASCRIPT_ERROR:
            exception_class = JavascriptException
        elif status in ErrorCode.SESSION_NOT_CREATED:
            exception_class = SessionNotCreatedException
        elif status in ErrorCode.INVALID_ARGUMENT:
            exception_class = InvalidArgumentException
        elif status in ErrorCode.NO_SUCH_COOKIE:
            exception_class = NoSuchCookieException
        elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
            exception_class = ScreenshotException
        elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
            exception_class = ElementClickInterceptedException
        elif status in ErrorCode.INSECURE_CERTIFICATE:
            exception_class = InsecureCertificateException
        elif status in ErrorCode.INVALID_COORDINATES:
            exception_class = InvalidCoordinatesException
        elif status in ErrorCode.INVALID_SESSION_ID:
            exception_class = InvalidSessionIdException
        elif status in ErrorCode.UNKNOWN_METHOD:
            exception_class = UnknownMethodException
        else:
            exception_class = WebDriverException
        if value == '' or value is None:
            value = response['value']
        if isinstance(value, basestring):
            if exception_class == ErrorInResponseException:
                raise exception_class(response, value)
            raise exception_class(value)
        if message == "" and 'message' in value:
            message = value['message']
    
        screen = None
        if 'screen' in value:
            screen = value['screen']
    
        stacktrace = None
        if 'stackTrace' in value and value['stackTrace']:
            stacktrace = []
            try:
                for frame in value['stackTrace']:
                    line = self._value_or_default(frame, 'lineNumber', '')
                    file = self._value_or_default(frame, 'fileName', '<anonymous>')
                    if line:
                        file = "%s:%s" % (file, line)
                    meth = self._value_or_default(frame, 'methodName', '<anonymous>')
                    if 'className' in frame:
                        meth = "%s.%s" % (frame['className'], meth)
                    msg = "    at %s (%s)"
                    msg = msg % (meth, file)
                    stacktrace.append(msg)
            except TypeError:
                pass
        if exception_class == ErrorInResponseException:
            raise exception_class(response, message)
        elif exception_class == UnexpectedAlertPresentException:
            alert_text = None
            if 'data' in value:
                alert_text = value['data'].get('text')
            elif 'alert' in value:
                alert_text = value['alert'].get('text')
            raise exception_class(message, screen, stacktrace, alert_text)
>       raise exception_class(message, screen, stacktrace)
E       selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
E         (Session info: chrome=117.0.5938.63)

/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException