Robot-framework-working-with-variables
ロボットフレームワーク-変数の操作
この章では、Robot Frameworkで変数を作成および使用する方法について説明します。 変数は値を保持するために使用され、テストケース、ユーザー定義のキーワードなどで使用できます。
Robot Frameworkで使用可能な次の変数について説明します
- スカラー変数
- リスト変数
- 辞書変数
Rideのテストケースを使用して、この変数のそれぞれの動作を理解します。
スカラー変数
スカラー変数は、割り当てられた値に置き換えられます。 スカラー変数の構文は次のとおりです-
${variablename}
スカラー変数を使用して、文字列、オブジェクト、リストなどを保存できます。 最初に簡単なテストケースを作成し、その中でスカラー変数を使用します。
コマンドラインで ride.py を使用してRIDEを開き、新しいプロジェクトを作成します。
[新しいプロジェクト]をクリックします。
次に、プロジェクトに名前を付けます。
指定された名前は_variables_です。 [OK]をクリックしてプロジェクトを保存します。
作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-
テストケースに名前を付けて、[OK]をクリックします。
プロジェクトのセットアップが完了し、テストケースで使用するスカラー変数のテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。
左側のプロジェクトをクリックし、インポートの追加からライブラリを使用します-
ライブラリをクリックすると、ライブラリ名を入力する必要がある画面が表示されます-
[OK]をクリックすると、ライブラリが設定に表示されます。
指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。
名前が一致しない場合、ライブラリ名は赤で表示されます-
スカラー変数のテストケース
上記のテストケースでは、テストケースに提供するURL、電子メール、パスワードなどの値をハードコーディングしました。 使用される値は変数に保存でき、ハードコーディングの代わりに、それらの場所で変数を使用できます。
スカラー変数を作成するには、プロジェクトを右クリックし、以下に示すように_New Scalar_をクリックします-
[New Scalar]をクリックすると、次の画面が開き、変数が作成され、変数がテストケース内で使用されるときに置き換える必要がある値が作成されます。
[名前]フィールドに$ \ {}を取得します。
ここでは、下の画面に示すように、中括弧内に変数の名前を入力する必要があります-
変数の名前は$ \ {url}です。 値は- http://localhost/robotframework/loginl です。
上記のようにコメントを追加しました。 [OK]をクリックして、スカラー変数を保存します。 変数の詳細は次のように追加されます-
変数名は、次のように作成されたプロジェクトの下に表示されます-
テストケース内で作成されたスカラー変数を使用してみましょう。
URLがハードコードされたテストケース
上記のテストケースでは、URLを上記で作成した変数に置き換える必要があります。
URLのスカラー変数を使用したテストケース
次に、テストケースを実行して、変数からURLを取得しているかどうかを確認します。 以下は、実行時に得られる出力です。 URL http://localhost/robotframework/loginl は、作成したスカラー変数から取得されます。
実行の詳細
変数を使用する利点は、その変数の値を変更でき、すべてのテストケースに反映されることです。 そのプロジェクトの下で作成する多くのテストケースで変数を使用できます。 値のハードコーディングは、何かを変更したい場合に深刻な問題になる可能性があります。個々のテストケースに移動して、その値を変更する必要があります。 変数を1か所に持つことで、変数に異なる値を使用して、希望する方法を柔軟にテストできます。
次に、List変数と呼ばれる次のタイプの変数を調べます。
リスト変数
リスト変数には値の配列があります。 値を取得するために、リスト項目は引数としてリスト変数に渡されます。
構文
@{variablename}
値A、Bがあるとします。 値を参照するには、次のようにリスト項目を渡す必要があります-
@{variablename}[0]//A
@{variablename}[1]//B
リスト変数を追加するには、プロジェクトを右クリックし、[新しいリスト変数]をクリックします。
_New List Variable_をクリックすると、値を入力できる画面が表示されます-
名前は、@ \ {}に続いて値として指定されます。 また、4つの列が選択されています。 今、私たちはただ列1を使用し、次のように値、電子メールIDとパスワードを持つリスト変数を作成します-
リスト変数の名前は @ \ {LOGIN_DETAILS} であり、指定された値は*[email protected]*および admin であり、ログインページの電子メールIDとパスワードがあります。
[OK]をクリックして、リスト変数を保存します。 ここに示すように、変数はプロジェクトの下にリストされています-
使用される変数の詳細は、設定タブにリストされています-
次に、以下に示すように、テストケース内にリスト変数を追加します。
ここでは、入力テキストとパスワードの値をハードコーディングしています。 次に、リスト変数を使用するように変更します。
リスト変数を使用する
次に、テスト変数を実行して、リスト変数から値を取得しているかどうかを確認します-
上記のテスト画面に示すように、リスト変数から電子メールIDとパスワードを取得しました。
次のスクリーンショットは、同じ実行の詳細を示しています-
次のセクションでは、辞書変数について学習します。
辞書変数
辞書変数は、インデックスを引数として渡すリスト変数に似ています。ただし、ディクショナリ変数の場合、詳細(キー値形式)を保存できます。 インデックスを0、1などとして使用する代わりに、テストケースで使用すると、参照しやすくなります。
構文
&{Variablename}
key1 = A、key2 = Bとして値を保存するとします。 テストケースでは次のように呼ばれます-
&{Variablename}[key1]//A
&{Variablename}[key2]//B
Rideで辞書変数を作成しましょう。
プロジェクトを右クリックし、_新しい辞書変数_をクリックします。
- 新しい辞書変数*をクリックすると、次のような画面が表示されます-
画面のデフォルトの名前は&\ {}で、値と列のオプションがあります。
テストケースで使用する名前と値を入力します。
[OK]をクリックして変数を保存します。 変数は、プロジェクトの下にリストされ、次のように設定されます-
辞書の値を取得するようにテストケースを変更します。
以下に示すように、辞書変数に変更します。
辞書変数の使用
実行をクリックすると、次のものが得られます-
実行の詳細は次のとおりです-
これまでに[編集と実行]タブを見てきました。 TextEditの場合、テストケースの詳細が記述されています。 TextEditで必要な変数を追加することもできます。
テストケース
上記のテストケースでは、スカラー変数と辞書変数を使用しました。 これがTextEditのこれまでのコードです。これは書かれたテストケースに基づいています-
使用される変数は赤で強調表示されています。 以下に示すように、TextEditで直接必要な変数を作成することもできます-
*$ \ {new_url}* と呼ばれるスカラー変数を追加しました。指定された値はhttps://www.finddevguides.com/です。
左上隅にある Apply Changes ボタンをクリックすると、下に示すようにプロジェクトの下に変数が表示されます-
同様に、他の変数-リストおよび辞書変数は、必要に応じて[テキスト編集]タブ内で直接作成できます。
結論
変数を作成して使用する方法を見てきました。 ロボットフレームワークでは、スカラー、リスト、辞書の3種類の変数がサポートされています。 これらすべての変数の動作について詳しく説明しました。