如何在Robot Framework中将数据附加到csv文件?

时间:2017-07-17 06:45:05

标签: python csv selenium automated-tests robotframework

我想将数据附加到.csv文件,现在在Robot Framework中不是空的,但我遇到了一些问题。

我在github中的'robotframework-CSVLibrary'的's4int'中安装了CSVLibrary,它有一个名为'Append To Csv File'的关键字。我可以将数据附加到.csv文件中,但格式存在一些问题。

首先我有一个空的csv文件,我在Robot Framework中运行我的脚本。

*** Settings ***
Library           Selenium2Library
Library           CSVLibrary

*** Variables ***

*** Test Cases ***
test
${list}=    Create List    apple    pear
Append To Csv File    ${file_path}    ${list}   

该文件如下所示:

enter image description here

但我希望是:

enter image description here

如何附加数据以显示我的期望?我的格式错了吗?或者还有其他方法可以实现吗? 非常感谢。

2 个答案:

答案 0 :(得分:2)

对于您正在使用的库,Append to csv file似乎需要列表。每个列表代表一行,每个子列表代表行中的列。

由于您希望“apple”和“pear”位于同一行,您需要将它们放在一个列表中,然后将该列表放在另一个列表中。

*** Test Cases ***
test
    ${list}=    Create List    apple    pear
    ${data}=    create list    ${list}
    Append To Csv File    ${file_path}    ${data}  

答案 1 :(得分:0)

如果需要先清除文件,然后再写入其他数据,则可以在机器人框架脚本中使用以下关键字。

您可以直接使用代码并创建名称为CSVLibrary.py的库并开始使用它。然后,您可以将其调用为脚本。提供带有\\斜杠的文件路径以在机械手框架中工作。例如:E:\\FOLDER1\\FOLDER2。您可以按照提供${list}=Create List apple pear的相同方式提供数据。

import csv

class CSVLibrary():   

def Clear_file(self, filepath):                    #  Clear_file :it will clear your file. 
 with open(filepath, 'w+') as f:
     obj1=csv.writer(f)

def Append_file(self, filepath, data):             #  Append_file :it will append the data you wanted to in your script. 
  with open(filepath, 'a') as f:
      obj1=csv.writer(f)
      obj1.writerow(data)