С# UI Тесты WinAppDriver Цвет теста Appium?

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

public void ConfirmBtnText()
    {
        excelSession.FindElementByName("Home").Click();
        excelSession.FindElementByXPath("//Button[@Name='AddIn button']").Click();

        var getLabel = excelSession.FindElementByName("Create worksheet");
        Assert.AreEqual("Create worksheet", getLabel.Text);

        Assert.AreEqual("rgb(75, 79, 84)", getLabel.GetAttribute("Color")); // Fails here
    }

Ошибка говорит:

Ожидаемый: RGB (75, 79, 84). Факт:‹(ноль)>.

Как мне проверить цвета элемента на панели добавления Excel?

Любая помощь приветствуется, спасибо.

Это также не удается:

string cssProperty = getLabel.GetCssValue("Color");

С ошибкой:

OpenQA.Selenium.WebDriverException: непредвиденная ошибка. Команда не реализована: GET: /session/0CEE6663-DCBA-44E3-AC75-A7A5AF97DECA/element/42.525736.4.12/css/Color


person Mike    schedule 17.10.2018    source источник
comment
Читал что-то, что такого рода вещи не поддерживаются Appium?   -  person Mike    schedule 17.10.2018


Ответы (1)


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

person AdrianHHH    schedule 17.10.2018
comment
Одним из решений является усовершенствование приложения, чтобы оно устанавливало атрибут, который закодированный пользовательский интерфейс может видеть одновременно с установкой цвета. ‹--- Как бы вы порекомендовали нам это сделать? В настоящее время пытаюсь сделать снимок экрана, но борюсь с множеством проблем с совместимостью... В настоящее время использую .NetCore2.1. - person Mike; 17.10.2018