【问题标题】:Robot Framework don't find custom keyword from custom libraryRobot Framework 未从自定义库中找到自定义关键字
【发布时间】:2019-01-13 05:28:27
【问题描述】:

我尝试通过继承 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 

我遇到了这个问题:

找不到名为“风暴点击”的关键字。

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

【问题讨论】:

  • TestLibrary.py 放在哪个文件夹?
  • 您使用的是哪个版本的Selenium2Library?您使用的是基于 SeleniumLibrary 的吗?

标签: python robotframework


【解决方案1】:

您显然使用的是 SeleniumLibrary 的第 3 版或更高版本。根据documentation for extending the library,您必须使用@keyword 装饰器才能将方法识别为关键字:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 2021-08-31
    • 2019-11-02
    • 2020-03-22
    • 2020-02-05
    • 2015-09-23
    • 2021-11-05
    • 2017-05-09
    相关资源
    最近更新 更多