robot framework讀取Excel檔案,並儲存為list
阿新 • • 發佈:2019-01-25
最近剛使用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共同探討】