gpt4 book ai didi

python - 在 Robot Framework 中实例化一个类

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:57 25 4
gpt4 key购买 nike

我有一个可以像这样使用的 python API 包装器:

from api.MyApi import *

client = MyApi(server)

users = client.user.get_users()

我想编写一个使用它的测试库,我可以在 Robot Framework 中使用它,但我无法让它按照我想要的方式工作。我尝试了以下方法:

测试机器人

*** Settings ***
Library api.MyApi ${SERVER} WITH NAME client

*** Variables ***

*** Keywords ***
Get users
${response}= client.user.get_users()
Log ${response.content}

*** Test Cases ***
Test: Test 1
Get users

结果是

No keyword with name 'client.user.get_users()' found.

如何创建和使用我的 API 客户端实例?

最佳答案

您不应尝试在机器人测试中直接使用您的 api 库,因为它并非设计为用作关键字库。

相反,创建您自己的关键字库可以调用 api 来完成工作。然后,不是在测试中创建 get keywords 关键字,而是在库中创建。

例如,创建一个名为“APIKeywords.py”的文件,它将与您的服务器建立连接。在其中,创建一个名为 get_users 的关键字,它使用连接来获取用户:

from api.MyApi import *

class APIKeywords() :
ROBOT_LIBRARY_SCOPE = 'GLOBAL'

def __init__(self, server):
self.server = server
self.client = MyAPI(self.server)

def get_users(self):
return self.client.user.get_users()

您可以像使用任何其他库一样使用此关键字库。例如:

*** Variable ***
${SERVER} localhost

*** Settings ***
Library APIKeywords.py ${SERVER} WITH NAME client

*** Test cases ***
Example
${users}= get users

如果您想在调用关键字时显式使用client,您可以将最后一行更改为:

${users}=  client.get_users

${users}=  client.get users

关于python - 在 Robot Framework 中实例化一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52978858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com