Вы импортируете from SeleniumLibrary import SeleniumLibrary
.
Который содержит Select Checkbox
Ключевое слово, поэтому вы получаете:
Creating keyword 'Select Checkbox' failed: Keyword with same name defined multiple times.
Вы можете просто изменить имя ключевого слова
import uuid
import time
import re
from robot.api.deco import keyword
from robot.libraries.BuiltIn import BuiltIn
from SeleniumLibrary import SeleniumLibrary
class MySeleniumLibrary(SeleniumLibrary):
# def __init__(self):
# BuiltIn().set_library_search_order(self, "SeleniumLibrary")
@keyword('Select Checkbox Custom')
def some_name(self, locator):
self.wait_until_page_contains_element(locator)
elementId = self.get_element_attribute(locator, "id")
if elementId == '':
elementId = uuid.uuid4()
self.assign_id_to_element(locator, elementId)
self.execute_javascript('$("#' + elementId + ':not(:checked)").click();')
И тогда ваш Robot Framework Test должен выглядеть примерно так:
*** Settings ***
Library MySeleniumLibrary.py
*** Test Cases ***
Test Keyword
Open Browser hyyp://google.com chrome
Select Checkbox Custom xpath=SomeKidOFXPATHVALUE
И это будет работать, как и ожидалось.Обратите внимание, как работает ключевое слово Open Browser
, хотя я не ссылался на SeleniumLibrary в настройках только на сценарий python, который подбирает все ключевые слова.
Для получения дополнительной информации о том, какие методы считаются ключевыми словами, пожалуйста, посмотритеЭто Какие методы считаются ключевыми словами