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

时间:2019-04-22 07:32:11

标签: 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}')}

1 个答案:

答案 0 :(得分:4)

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

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

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

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