数据未写入 Excel 文件,机器人框架中未抛出任何错误
Data is not being written in Excel file and no error is thrown in Robot framework
我正在尝试将从应用程序返回的值写入 Robot 框架中的现有 excel 文件
我有一个包含以下代码的 .py 文件
def writeData(file,sheetname,rownum, colnum,data):
workbook = openpyxl.load_workbook(file)
sheet = workbook[sheetname]
sheet.cell(row=rownum, column=colnum).value= data
workbook.save(file)
我在我的 common.robot 文件中调用它
WriteToExcel
${excel} set variable writedata ${fileName} Sheet1 10 10 ${refNumber}
执行后,我没有看到任何错误,也没有在 excel 文件中写入任何值。
Robot Framework 专为用户调用案例正文中的关键字而设计。
当您调用 ${x}= Set Variable value
时,您是在告诉它“调用关键字 Set Variable,并将结果分配给变量 x”。 Set Variable
用于其名称所说的 - 将值静态分配给标识符(变量的名称)。你在评论中说过你试图将其更改为 Create List
(也许我的评论误导了你,抱歉!),这将再次实现其名称所说的 -它将创建一个列表(您传递给它的所有参数都将成为成员),并将其分配给变量。
现在,您已经创建了一个关键字 - writeData
,它可以执行您希望它执行的操作。你将如何执行它?就,叫它;不需要 Set Variable
或其他关键字。
如果“WriteToExcel”是案例的名称,则:
WriteToExcel
writedata ${fileName} Sheet1 10 10
,应该这样做。
我故意遗漏了 ${excel}
变量作为你问题中调用的前缀 - 因为查看 python 的方法定义,它没有 return
语句- 它没有 return 任何东西,所以没有什么可分配的。
如果您将该函数更改为现在 return 某个值,则在 RF 中调用它的方式为:
WriteToExcel
${excel}= writedata_that_returns_something ${fileName} Sheet1 10 10
我正在尝试将从应用程序返回的值写入 Robot 框架中的现有 excel 文件
我有一个包含以下代码的 .py 文件
def writeData(file,sheetname,rownum, colnum,data):
workbook = openpyxl.load_workbook(file)
sheet = workbook[sheetname]
sheet.cell(row=rownum, column=colnum).value= data
workbook.save(file)
我在我的 common.robot 文件中调用它
WriteToExcel
${excel} set variable writedata ${fileName} Sheet1 10 10 ${refNumber}
执行后,我没有看到任何错误,也没有在 excel 文件中写入任何值。
Robot Framework 专为用户调用案例正文中的关键字而设计。
当您调用 ${x}= Set Variable value
时,您是在告诉它“调用关键字 Set Variable,并将结果分配给变量 x”。 Set Variable
用于其名称所说的 - 将值静态分配给标识符(变量的名称)。你在评论中说过你试图将其更改为 Create List
(也许我的评论误导了你,抱歉!),这将再次实现其名称所说的 -它将创建一个列表(您传递给它的所有参数都将成为成员),并将其分配给变量。
现在,您已经创建了一个关键字 - writeData
,它可以执行您希望它执行的操作。你将如何执行它?就,叫它;不需要 Set Variable
或其他关键字。
如果“WriteToExcel”是案例的名称,则:
WriteToExcel
writedata ${fileName} Sheet1 10 10
,应该这样做。
我故意遗漏了 ${excel}
变量作为你问题中调用的前缀 - 因为查看 python 的方法定义,它没有 return
语句- 它没有 return 任何东西,所以没有什么可分配的。
如果您将该函数更改为现在 return 某个值,则在 RF 中调用它的方式为:
WriteToExcel
${excel}= writedata_that_returns_something ${fileName} Sheet1 10 10