微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Robot Framework 的自定义 Python 关键字 - 预期为 0 个参数,得到 1

如何解决Robot Framework 的自定义 Python 关键字 - 预期为 0 个参数,得到 1

我正在使用 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

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

关键字 参数
拖线测量 开始,dX,dY
点击 intY

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

解决方法

你应该改变这个

{"points": [{ "x": 0,"y": 1 },{ "x": 0.315397047887207,"y": 0.694608645422627 }]}

def start_client(launchMode): 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。