robot framework读取Excel文件,并保存为list

最近刚使用Robot Framework不久,为了使代码和数据分离,需要读取Excel文本信息,问题困扰了一天,最后终于解决了,

读文件需要ExcelLibrary包支持

1.安装ExcelLibrary

可以直接通过命令安装:pip install robotframework-ExcelLibrary

2.检查是否安装成功

pip list

3.导入关键字后,就可以用了

读取Excel代码如下(读取Excel只支持.xls文件,这点一定要注意)


读文件的文件如下图,总共两列


robot framework读取Excel文件,并保存为list_第1张图片


读文件的具体方法如下:


for_myExcel
    #######读Excel文件,并保存为list
    open_Excel    C:\\Users\\whoami\\Desktop\\read_file.xls
    @{read_columnA}    get_column_values    mytext    0    #0代表Excel的第一列,读完@{read_columnA}是一个list
    @{read_columnB}    get_column_values    mytext    1
    ${y}    set_Variable    1    #读取文件后,list示例[A2,u'hedi']
    ${count_row}    get_row_count    mytext    #get_row_count/get_column_count    获取文本行/列数
    Set_Suite_Variable    ${count_row}
    #log    ${count_row}
    @{a_list}    create_list
    @{b_list}    create_list
    : FOR    ${x}    IN RANGE    ${count_row}
    \    ${a}    set_variable    ${read_columnA[${x}][${y}]}
    \    ${b}    set_variable    ${read_columnB[${x}][${y}]}
    \    Append_to_list    ${a_list}    ${a}    #Append_to_list需要Collections包支持
    \    Append_to_list    ${b_list}    ${b}
    Set_Suite_Variable    ${a_list}
    Set_Suite_Variable    ${b_list}
    #log    ${a_list}
    #log    ${b_list}


开始读出来Excel后,不知道Robot 有内置包支持,想到Evaluate可以支持python代码,然后用python的append接收for循环的值传${a_list},
结果发现报错: str类型不支持append属性,然后又试了extend方式,也是不可以,那咋办,继续百度吧

    \    #${a_list}    Evaluate    '${a_list}'.append(${a})    #使用Evaluate方法支持python代码
    \    #${a_list}    Evaluate    '${b_list}'.append(${b})


终于在一篇英文的代码页面发现了有Append_to_list这个属性。。。。。。。。。。。。。。。白忙活了一天尴尬
(因为我也不知道需要Collections包支持,F5半天没发现有用的处理方式,导入包后才发现)
还好问题问题解决了!!

运行结果如下:

robot framework读取Excel文件,并保存为list_第2张图片


【RF很多都是没教程,只能自己琢磨,希望有更多的人加入RF共同探讨】


你可能感兴趣的:(Robot,Framework)