Robot框架的自定义Python关键字应为0个参数,得到1个

2024-06-16 09:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Squish for Qt创建一个Python关键字库,用于使用Robot框架运行自定义Qt应用程序GUI测试。目前,我正在Python3.8.7(和Squish6.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

在Robot文件中,我使用的关键字如下

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

运行测试时,我遇到了一个错误

Keyword 'ClientKeywords.Start Client' expected 0 arguments, got 1.

这个问题还表现出来,因此在关键字文件上运行libdoc工具时,一些关键字参数根本不显示。我还没有真正能够找到一个模式,因为有些参数正在显示,有些则没有。例如:

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

click_on(intX, intY):
    #Click stuff

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

^{tb1}$

似乎我在使用类结构时遇到了一些问题,当类定义被删除时,该库基本上可以正常工作,但在这种情况下,这不是一个可行的长期解决方案——尤其是当libdoc只记录导入的Squish python库而不是没有定义类的实际库文件时


Tags: 文件testclient参数robot关键字loggerqt