1. 程式人生 > >robot framework讀取Excel檔案,並儲存為list

robot framework讀取Excel檔案,並儲存為list

最近剛使用Robot Framework不久,為了使程式碼和資料分離,需要讀取Excel文字資訊,問題困擾了一天,最後終於解決了,

讀檔案需要ExcelLibrary包支援

1.安裝ExcelLibrary

可以直接通過命令安裝:pip install robotframework-ExcelLibrary

2.檢查是否安裝成功

pip list

3.匯入關鍵字後,就可以用了

讀取Excel程式碼如下(讀取Excel只支援.xls檔案,這點一定要注意)

讀檔案的檔案如下圖,總共兩列


讀檔案的具體方法如下:

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半天沒發現有用的處理方式,匯入包後才發現)
還好問題問題解決了!!

執行結果如下:


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