数据未写入 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