python - 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”的关键字。
您有什么想法可以解释为什么机器人框架找不到我的自定义关键字吗?
解决方案
您显然正在使用 SeleniumLibrary 的第 3 版或更高版本。根据扩展库的文档,您必须使用@keyword
装饰器才能将方法识别为关键字:
...
from SeleniumLibrary.base import keyword
...
class TestLibrary(Selenium2Library):
@keyword
def storm_click(...):
...
推荐阅读
- javascript - JavaScript中带有rest参数的多括号函数
- xml - 如何将子查询添加到现有的主代码
- javascript - 我想在未登录时尝试在登录后访问屏幕时重定向到登录屏幕
- javascript - how to increment a like button in django with ajax?
- excel - 用于将数字除或拆分为最大可能相等部分的 excel 函数
- php - 如何在woo commerce中使用ajax调用创建订单后动态处理付款
- flutter - Dart 中使用隐式子类的高效方式 - OOP 多态性
- java - Micronaut 声明式 http 客户端中的路由参数
- powerbi - 无法对 PowerBI 矩阵可视化中设置为 1 的标志求和
- json - Laravel Vue 使用 v-for 指令从数据库表结果中显示不正确