我是机器人框架的新手
我想做一些不在标准 selenium2library 中的函数
1) 如何让驱动程序在我的函数中使用?
2) 如何在库中使用 _element_find 函数(来自 Selenium2Library/keywords/_element.py)? (我尝试导入大部分内容,但仍然无法访问 _element_find)
class page(object):
def __init__(self, driver=None, title=None, url=None):
self._driver = driver
self._title = title
self._url = url
def get_driver(self):
return self._driver
def wait_for_visibility(self, locator, info="no error", timeout=10):
return WebDriverWait(self.get_driver(), timeout).until(
expected_conditions.visibility_of_element_located(locator), info)
def find_element(self, locator):
return self.get_driver().find_element(*locator)
def clear_field(self, locator):
self.find_element(locator).clear()
def send_keys(self, value_to_send, locator, info="field was not visible"):
self.wait_for_visibility(locator, info)
self.find_element(locator).send_keys(value_to_send)
return self
def clear_field_and_send_keys(self, value_to_send, locator, info="field was not visible"):
self.clear_field(locator)
self.send_keys(value_to_send, locator, info)
def send_to_field_random_value_of_length(self, locator, leng, info="field was not visible"):
self.clear_field(locator)
value = rstr.rstr("abcdefghijklmnoprstuwxyz", leng)
self.send_keys(value, locator, info)
def my_click(self, locator, info="click on button error", timeout=5):
element = self.wait_for_visibility(locator, info, timeout)
element.click()
然后我想以这种方式使用它:
Register Proper Data
[Setup] Open Browser ${web-page} browser=${browser}
my click (By.PARTIAL_LINK_TEXT, "Zarejestruj nowe konto")
send to field random value of length (By.ID, "rejestracja_konta_imie") 7
这是正确的方法吗?
现在我收到错误 AttributeError: 'NoneType' object has no attribute 'find_element'
请您参考如下方法:
在 Robot Framework 之外使用 Selenium2Library 的目的是什么?如果您创建自己的 Python 库,您应该使用纯 Selenium Webdriver。要向现有的 Selenium2Library 添加一些功能,您应该扩展此类并创建您自己的包含新方法的类(例如 JedrekSelenium2Library)。
