ロボットフレームワークファイルとPython間の異なる入力データの種類
-
20-12-2019 - |
質問
私は自分のテストのためのExcelライブラリを書いています。
-
オリジナルのPythonライブラリ「readexcel.py」:
from xlrd import open_workbook, XL_CELL_TEXT class Read_Excel: def __init__(self,excel_file): self.excel_file = excel_file self.book = open_workbook(self.excel_file) self.sheet1_name = self.book.sheet_names() def Take_Sheet_Name(self,name): self.name = name return self.name def Cell_Value(self,row_index,col_index): self.row_index = row_index self.col_index = col_index sheet = self.book.sheet_by_name(self.name) cell_value = sheet.cell(self.row_index,self.col_index).value return cell_value
例を実行して、このプログラムがEclipseを介してセル(0,1)の値を取得できるかどうかを確認しますか?
y = Read_Excel('simple.xlsx')
y.Take_Sheet_Name('name1')
print y.Cell_Value(0,1)
Result: 11 --> this number is the actual value on cell(0,1)
.
このPythonファイルをPython Library / Site-Packageフォルダにコピーして、 'readexcel1.py'に名前を変更します。 その後、readexcel1.pyライブラリ
にテストケースベースを書き込みます。*** Settings ***
Documentation This is the resource file for Google test suite.
Library Selenium2Library
Library ReadExcel1 C:\\Automation_project\\Robot_framework\\Testing\\Check_activity\\simple.xlsx
*** Test Cases ***
Check Library
Take Sheet Name name1 --> pass
Cell Value 0 1 --> failed
.
以下のようにログ表示メッセージ:
The list indices must be integers, not unicode
.
だから、私はセル値コマンドラインの入力 '0 1'が文字列であるため、ReadExcel1.py
で整数型に強制します。self.row_index = int(row_index)
self.col_index = int(col_index)
.
これは私の問題を解決します。
しかし、元のReadExcel.pyで変化するタイプを強制する必要がなく、Pythonが入力 '0 1'を数字で理解することができます。しかし、ReadExcel1.pyでは、ロボットは '0 1'が文字列であり、 'row_index、col_index'のタイプの変更を強制する必要がありますか?
この問題を明確にしてください。
ありがとう。
解決
デフォルトでは、RFはそれらの引数をString 0とString 1として渡します。それらを整数0と整数1として渡す場合は、$ {0}と$ {1}
を使用します。所属していません StackOverflow