def assert_visible(self, selector, testid=None, **kwargs):
        """Assert that the element is visible in the dom

        Args:
            selector (str): the selector used to find the element
            testid (str): the test_id or a str

        Kwargs:
            wait_until_visible (bool)
            highlight (bool)

        Returns:
            bool: True is the assertion succeed; False otherwise.
        """
        self.info_log(
            "Assert visible selector(%s) testid(%s)" % (selector, testid)
        )

        highlight = kwargs.get(
            'highlight',
            BROME_CONFIG['highlight']['highlight_on_assertion_success']
        )
        self.debug_log("effective highlight: %s" % highlight)

        wait_until_visible = kwargs.get(
            'wait_until_visible',
            BROME_CONFIG['proxy_driver']['wait_until_visible_before_assert_visible']  # noqa
        )
        self.debug_log("effective wait_until_visible: %s" % wait_until_visible)

        if wait_until_visible:
            self.wait_until_visible(selector, raise_exception=False)

        element = self.find(
            selector,
            raise_exception=False,
            wait_until_visible=False,
            wait_until_present=False
        )
        if element and element.is_displayed(raise_exception=False):
            if highlight:
                element.highlight(
                    style=BROME_CONFIG['highlight']['style_on_assertion_success']  # noqa
                )
            if testid is not None:
                self.create_test_result(testid, True)

            return True
        else:
            if testid is not None:
                self.create_test_result(testid, False)

            return False