Как убрать ошибки из консула в селене - PullRequest
0 голосов
/ 01 ноября 2019

У меня вопрос по поводу вывода консула. У меня есть этот код в моей программе:

   public static void ClickElementWhenClickable(By locator ) throws Exception {
        WebDriver driver = WebDriverMgr.getDriver();
        driver.manage().timeouts().implicitlyWait(IMPLICIT_WAITE, SECONDS);
        Instant now = Instant.now();
        while (Instant.now().isBefore(now.plusSeconds(IMPLICIT_WAITE)))
        {
            try
            {
                new WebDriverWait(driver, IMPLICIT_WAITE).until(ExpectedConditions.elementToBeClickable(locator)).click();

                return;
            }
            catch (WebDriverException e)
            {
                // do nothing, loop again
            }

        }

        throw new Exception("Not able to click element <" + locator + "> within " + IMPLICIT_WAITE + "s.");
    }

Работает нормально. и нажмите элемент, только когда он кликабелен, и подождите несколько секунд. Проблема возникала в тех случаях, когда элемент не был найден несколько раз, а селен выдает ошибки консулу.

Пример:

Fri Nov 01 14:59:55 IST 2019:ERROR: element click intercepted: Element <button _ngcontent-mig-c11="" class="avatar-style ant-btn ant-btn-default ant-btn-circle" id="header-account" nz-button="" nz-popover="" nzplacement="bottomRight" nzshape="circle" nztrigger="click" ng-reflect-nz-shape="circle" ng-reflect-nz-content="[object Object]" ng-reflect-nz-trigger="click" ng-reflect-nz-placement="bottomRight" ng-reflect-directive-name-title="" nz-wave="[object Object]">...</button> is not clickable at point (1888, 31). Other element would receive the click: <div class="ant-notification-notice ant-notification-notice-closable ng-trigger ng-trigger-notificationMotion" 

enter image description here

Есть ли способ не показывать эти ошибки (только если я в этом методе)? Я хочу упомянуть, что тест пройден, селен ждет, когда элемент станет активным, а затем нажмите на него. Однако за все время ожидания он просто распечатывает эти ошибки, которые мне не нужны. Я хочу, чтобы он выводил сообщение об ошибке только в том случае, если время истекло, и элемент не активен.

, например, если время: 13:15:00, а значение IMPLICIT_WAIT равно 12 секундам. Только в 13:15:13 я получу ошибку, а не между (имеется в виду, что я нахожусь в цикле while)

В настоящее время тесты пройдены и консул полон с ошибками траты. Я просто хочу, что если я использую этот специфический метод, ошибки не будут напечатаны. С уважением

...