我正在Python
中编写一个自定义的Robot Framework库。我想等待自定义关键字直到成功,但是我不知道如何使用自定义关键字正确调用它,我目前遇到此错误:keyword '_element_should_not_have_class_name' failed after retrying for 30 seconds. The last error was: No keyword with name '_element_should_not_have_class_name' found.
我的自定义关键字如下:
def _element_should_not_have_class_name(self, element_locator, class_name):
self.logger.console('Begin')
classes = self.appiumlib.get_element_attribute(locator=Util.get_css_locator(self.locator[element_locator]), attribute='className')
self.logger.console('Got classes: {}'.format(classes))
self.builtin.should_not_contain(classes, class_name)
在成功之前我一直要调用的关键字:
def _wait_until_connection_succeeds(self, element_locator):
self.builtin.wait_until_keyword_succeeds('0.5 min', '1 sec', '_element_should_not_have_class_name', element_locator, 'disabled')
如果我将参数列表写为一个函数,它将运行,但只能运行一次。对此有什么解决方案?
答案 0 :(得分:3)
错误告诉您问题所在,没有名为_element_should_not_have_class_name
的关键字。 Robot无法将以_
开头的功能识别为关键字。请参阅《机器人框架用户指南》中的What methods are considered keywords。
解决方案:从函数名称中删除前划线。