我尝试这种方式并使用 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;
}
请大家帮帮我。
您可以在 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}
创建一个Python函数
def rgba_to_hex(rgba):
# Split the string and extract the integer values
rgba_values = rgba.strip('rgba()').split(',')
rgba_values = [int(value.strip()) for value in rgba_values]
# Convert RGBA to HEX
hex_value = "#{:02x}{:02x}{:02x}".format(*rgba_values[:3]) # RGB values
return hex_value
之后,称之为Robot Framework
TC
${HexColorTxtUrl} Rgba To Hex ${colorTxtUrl}
Should Be Equal '${HexColorTxtUrl}' ${color}