使用在关键字函数中创建的文件作为参数
Using a file created in a keyword function as an argument
对如何将创建的文件用于机器人框架中的函数感到困惑。通常我会按照 f = open("logFileTest.txt", "w")
的方式做一些事情,然后像这样将 f 传递给函数 getAddresses(f)
编写此 getAddresses 函数是为了使用传递的参数进行日志记录。
def getAddresses(logFile=None):
print("Entering getAddresses!", file=logFile)
因此,在将其转换为机器人框架时,我尝试创建一个文件并将创建的文件设置为一个变量,然后使用新创建的变量调用该函数。
${logFile}= Create File log.txt
${addresses}= Get Addresses ${logFile}
然而,这将 logFile 设置为 none 而不是我希望将其设置为新创建的 log.txt。
robot framework中除了Get File还有其他打开文件的方法吗?在这种情况下获取文件不起作用,因为它仅 returns 文件的内容。
Create File 没有 return 文件路径(或根据文档 [1] 的任何内容)。您可以将路径设置为变量并将其作为参数提供给 Create File 关键字,然后也提供给您的 Get Addresses 关键字。
${path}= Set Variable log.txt
Create File ${path}
${addresses}= Get Addresses ${path}
然后在关键字实现中你需要打开它(因为只传递路径):
def getAddresses(logFile):
with open(logFile, 'w') as f:
print('Entering getAddresses!', file=f)
[1] https://robotframework.org/robotframework/latest/libraries/OperatingSystem.html#Create%20File
对如何将创建的文件用于机器人框架中的函数感到困惑。通常我会按照 f = open("logFileTest.txt", "w")
的方式做一些事情,然后像这样将 f 传递给函数 getAddresses(f)
编写此 getAddresses 函数是为了使用传递的参数进行日志记录。
def getAddresses(logFile=None):
print("Entering getAddresses!", file=logFile)
因此,在将其转换为机器人框架时,我尝试创建一个文件并将创建的文件设置为一个变量,然后使用新创建的变量调用该函数。
${logFile}= Create File log.txt
${addresses}= Get Addresses ${logFile}
然而,这将 logFile 设置为 none 而不是我希望将其设置为新创建的 log.txt。
robot framework中除了Get File还有其他打开文件的方法吗?在这种情况下获取文件不起作用,因为它仅 returns 文件的内容。
Create File 没有 return 文件路径(或根据文档 [1] 的任何内容)。您可以将路径设置为变量并将其作为参数提供给 Create File 关键字,然后也提供给您的 Get Addresses 关键字。
${path}= Set Variable log.txt
Create File ${path}
${addresses}= Get Addresses ${path}
然后在关键字实现中你需要打开它(因为只传递路径):
def getAddresses(logFile):
with open(logFile, 'w') as f:
print('Entering getAddresses!', file=f)
[1] https://robotframework.org/robotframework/latest/libraries/OperatingSystem.html#Create%20File