Как получить фоновый цвет в шестнадцатеричном формате из элемента, используя Robot Framework - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь таким образом и использую SeleniumLibrary, и я использую Python 2.7.16

    ${elements}    Get Webelement    (//div[@class="slds-col call-scripticon"])[1]
    ${bg color}    Call Method    ${elements}    value_of_css_property    background-color

, но я получил rgb (36, 6, 66), я не знаю, как получить цвет в формате # 240642

HTML

<div class="slds-col call-scripticon" data-aura-rendered-by="2:7200;a" xpath="1"></div>

Стиль

    element.style {
}
.call-scripticon {
   background-color: #240642;
}

Кто-нибудь, помогите мне, пожалуйста.

1 Ответ

0 голосов
/ 11 октября 2019

Вы можете создать ключевое слово в python, которое преобразует цвета из RGB в HEX.

Допустим, вы создаете модуль с именем testLibrary.py, в котором вы создадите метод python, который изменяет формат цветов:

def transform_RGB_to_HEX(arg1):
    hex_result = "".join([format(val, '02X') for val in arg1])
    return hex_result

Единственное, что вам нужно сделать сейчас, это импортироватьбиблиотеку тестов в файле робота и назовите ключевое слово, как если бы вы использовали уже существующее.

*** Settings ***
| Library | MyLibrary.py

*** Test Cases ***
| Example that get color in format RGB and transform it into HEX
|  ${elements}  |  Get Webelement  |  (//div[@class="slds-col call-scripticon"])[1]
|  ${bg color}  |  Call Method     |  ${elements}        |   value_of_css_property    | background-color 
|  ${hex_color} |  transform RGB to HEX |  ${bg color}

...