首页 > 解决方案 > Robot Framework 未从自定义库中找到自定义关键字

问题描述

我尝试通过继承 selenium2library 来使用自定义关键字。我在.py文件中定义了这个关键字:


from Selenium2Library import Selenium2Library
class TestLibrary(Selenium2Library):
    def storm_click(self, locator):
        submit_button = self._current_browser().find_element_by_class_name(locator)
        submit_button.click()

我已经.robot使用库导入在我的测试文件中导入了这个自定义关键字:

*** Settings ***

Library  TestLibrary.py

当我执行机器人

 robot tests/livestorm.robot 

我有这个问题:

未找到名称为“storm click”的关键字。

您有什么想法可以解释为什么机器人框架找不到我的自定义关键字吗?

标签: pythonrobotframework

解决方案


您显然正在使用 SeleniumLibrary 的第 3 版或更高版本。根据扩展库的文档,您必须使用@keyword装饰器才能将方法识别为关键字:

...
from SeleniumLibrary.base import keyword
...
class TestLibrary(Selenium2Library):
    @keyword
    def storm_click(...):
        ...

推荐阅读