私はロボットフレームワークとPythonを初めて使用しています。私はSudsLibraryを使ってWebサービスを開発しています。私はExcelファイルからデータコンテンツを読みたい。私はそれのためのコードの下に書かれているが、ファイルから1行だけを読み取ります。ファイルからすべての行を読みたいと思っています。ロボットフレームワークのコンテンツの読み込み
Test.robot
*** Settings ***
Library DataReader.py
*** Variables ***
${file} ${CURDIR}${/}Book2.xls
${sheet} ABC
*** Test Cases ***
Test data provider
[Setup] prepare data
Create Soap Client http://test.asmx?WSDL
${ABC} Create Wsdl Object ABC
:FOR ${ABC.Col1} ${ABC.Col2} ${ABC.Col3} ${ABC.Col4} ${ABC.Col5} ${ABC.Col6} ${ABC.Col7} in @{testData}
\ ${ABC.Col1} Set Variable ${ABC.Col1}
\ ${ABC.Col2} Set Variable ${ABC.Col2}
\ ${ABC.Col3} Set Variable ${ABC.Col3}
\ ${ABC.Col4} Set Variable ${ABC.Col4}
\ ${ABC.Col4} = convert to integer ${ABC.Col4}
\ ${ABC.Col5} Set Variable ${ABC.Col5}
\ ${ABC.Col6} Set Variable ${ABC.Col6}
\ ${ABC.Col6}= convert to integer ${ABC.Col6}
\ ${ABC.Col7} Set Variable ${ABC.Col7}
\ ${ABC.Col7}= convert to integer ${ABC.Col7}
\ Set Test Variable ${ABC}
\ Call Soap Method ABC ${ABC}
\ ${soap_response} Get Last Received
\ Log ${soap_response}
\ Element Text Should Be ${soap_response} 2.991880011689
*** Keywords ***
prepare data
${data}= getDataFromSpreadsheet ${file} ${sheet}
Set Test Variable ${testData} ${data}
DataReader.py
import xlrd
def getDataFromSpreadsheet(fileName, sheetname) :
workbook = xlrd.open_workbook(fileName)
worksheet = workbook.sheet_by_name(sheetname)
print worksheet
rowEndIndex = worksheet.nrows - 1
colEndIndex = worksheet.ncols - 1
rowStartIndex = 1
colStartIndex = 0
testData = []
dataRow = []
curr_row = rowStartIndex
while curr_row <= rowEndIndex:
cur_col = colStartIndex
while cur_col <= colEndIndex:
cell_type = worksheet.cell_type(curr_row, cur_col)
value = worksheet.cell_value(curr_row, cur_col)
dataRow.append(value)
cur_col+=1
curr_row += 1
# testData.append(dataRow)
# return testData
return dataRow
`
あなたは今までにパンダを使用することがありますか? Excelファイルのための素晴らしい機能があります。[Pandas.read_excel()](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html) –
私は現在すべての行を読むことができますが、今私はCSVで同じことをしなければならない。 –
パンダにもCSVファイルを読む機能があります:[read_csv()](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) – Xukrao