python - 如何在机器人文件中使用 python 函数的多个返回值?

标签 python robotframework

我编写了一个 python 函数来获取不同环境的数据库凭据

def database_creds(env):
    if env == 'staging' or env == 'qa':
        hostname = 'host1'
        username = 'user1'
        password = 'pass11'
        database = 'TestDb'
    elif env == 'production':
        hostname = 'host2'
        username = 'user2'
        password = 'pass22'
        database = 'ProdDb'
    return hostname, username, password, database

我的疑问是我们如何使用机器人文件中的每个返回值?

如果我们只从 python 函数返回一个值

def getApiFullUrl(env):
    if env== 'production':
        url = 'production url'
    else:
        url = 'other environment url'
    return url

我们可以在机器人文件中这样使用:

${url}  ${getApiFullUrl('${env}')}

最佳答案

将它们分配给相同数量的变量(即“自动拆包”):

${hostname}   ${username}   ${password}   ${database}     database_creds    production

,或者将其分配给单个变量并将其视为列表:

${data}     database_creds    qa
Log    This is the hostname - ${data}[0], and this the database - ${data}[3]

关于python - 如何在机器人文件中使用 python 函数的多个返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55790772/

相关文章:

python - pweave 中默认为 echo=False

python - 休息 : inline links with arbitrary titles?

python - 如何根据数据框和 numpy 中的协变量对观察结果进行分类?

Python - VMWare vSphere (WEB SDK) - SUDS

python - (centos6.6) 更新python2.7.3之前,是python 2.6.6。运行 pybot --version 时出现错误

python - 如何从JSON字符串中获取所需的内容

python - 使用 RBFW 解决了托斯卡谜题 73589。 (失败: SyntaxError: EOL while scanning string literal (<string>)

python - 如何查看是否有评论

robotframework - 机器人框架获取文本

python - 在 python 中重定向 robots.run 的机器人输出