【问题标题】:Custom Python keyword for Robot Framework - Expected 0 arguments, got 1机器人框架的自定义 Python 关键字 - 预期 0 个参数,得到 1
【发布时间】:2021-06-12 18:16:33
【问题描述】:

我正在使用 Squish for Qt 创建一个 Python 关键字库,用于使用 Robot Framework 运行自定义 Qt 应用程序 GUI 测试。目前我在 Python 3.8.7(和 Squish 6.6.2)上运行 Robot Framework 3.2.2,我在将参数从 Robot 传递到 Python 时遇到了问题。

在名为 ClientKeywords.py 的 Python 文件中,我有以下内容

class ClientKeywords:
    
    def start_client(launchMode):
        if launchMode = "":
            #Launch Client in default mode
        elif launchMode = "logger":
            #Launch Client with logging

在机器人文件中,我使用的关键字就像

    Library    ClientKeywords
    
    *** Test Cases ***
    Smoke Test
        [Documentation]    This is a smoke test
        Start Client    logger

运行测试时出现错误

关键字“ClientKeywords.Start Client”预期 0 个参数,得到 1 个。

该问题还表现出来,因此在对关键字文件运行 libdoc 工具时,一些关键字参数根本不显示。我还没有真正想出一个模式,因为有些论点正在显示而有些则没有。例如:

drag_line_measurement(startY, dX, dY):
    #Do stuff

click_on(intX, intY):
    #Click stuff

显示在生成的文档中,如下所示

Keyword Arguments
Drag Line Measurement startY, dX, dY
Click On intY

我使用类结构的方式似乎存在一些问题,因为当类定义被删除时,库大部分工作正常,但在这种情况下这不是一个可行的长期解决方案 - 特别是当libdoc 只记录导入的 Squish python 库,而不是没有定义类的实际库文件。

【问题讨论】:

    标签: python robotframework squish


    【解决方案1】:

    你应该改变这个

    def start_client(launchMode): 
    

    def start_client(self, launchMode):
    

    因为它是一个类成员函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2017-08-08
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      相关资源
      最近更新 更多