【问题标题】:Cannot call keyword in robotframework that created from import module无法调用从导入模块创建的机器人框架中的关键字
【发布时间】:2020-09-03 05:02:53
【问题描述】:

我是 robotsframework 和 python 的新手。最近我尝试在python文件中创建自定义关键字,然后通过robotframework导入它。它可以正常导入,但我不能将python文件中的方法作为关键字调用。这是我的例子

from robot.api import logger    
from robot.utils.asserts import fail    
from robot.utils import get_link_path    
from robot.libraries.BuiltIn import BuiltIn    
from robot.api.deco import keyword

class MyCustomClass():

    ROBOT_LIBRARY_VERSION = 1.0
    
    def __init__(self):
        pass

    def justprint(self):
        print('HelloWorld')

我尝试将 justprint 作为关键字调用,但不能。这是 robotsframework 中调用此 .py 文件的路径 (../Web/02_RobotScriptExtract/Custom_Selenium_Keywords.py) 它没有变红,我调用它作为图书馆。

我认为是因为我导入了库,有什么想法吗?

【问题讨论】:

  • 亲爱的朋友.. 不要将代码发布为图像。请复制粘贴。
  • 请分享您如何导入lib并调用关键字。
  • 我已经更新了导入库的方式,我调用关键字的方式实际上是在robotfile中键入justprint,然后按ctrl+空格,但没有任何显示
  • @NoobMaster69 请更新你的帖子,说明你是如何打电话给justprint

标签: python-3.x robotframework


【解决方案1】:

您正在尝试将库导入为 Robotframework 库,因此在测试用例文件中执行此操作的正确方法是: (注意类必须在PYTHONPATH

*** Settings ***
Library  MyCustomClass

*** Test Cases ***
Test case name
    justprint

如果你只是想添加一个 python 文件并使用这个文件中的函数作为关键字,那么这样做:

*** Settings ***
Library  path_to_file/MyCustomPythonFile

*** Test Cases ***
Test case name
    justprint

在这种情况下,您的MyCustomPythonFile 文件将只包含该函数。没有必要有一个类:

def justprint(self):
        print('HelloWorld')

请注意,您执行 Ctrl + Space 并且没有自动完成这一事实并不意味着没有导入关键字。这可能是您的 IDE 配置错误。而是运行测试用例进行验证。

【讨论】:

    猜你喜欢
    • 2019-01-28
    • 2022-01-06
    • 2018-11-01
    • 2013-11-08
    • 2016-05-15
    • 2016-01-03
    • 2017-11-01
    • 2018-06-27
    • 2020-11-06
    相关资源
    最近更新 更多