RobotFramework-変数の操作

この章では、RobotFrameworkで変数を作成して使用する方法について説明します。変数は値を保持するために使用され、テストケース、ユーザー定義のキーワードなどで使用できます。

RobotFrameworkで利用可能な以下の変数について説明します

  • スカラー変数
  • リスト変数
  • 辞書変数

Rideのテストケースを使用して、この各変数の動作を理解します。

スカラー変数

スカラー変数は、割り当てられた値に置き換えられます。スカラー変数の構文は次のとおりです-

${variablename}

スカラー変数を使用して、文字列、オブジェクト、リストなどを格納できます。最初に簡単なテストケースを作成し、その中でスカラー変数を使用します。

を使用してRIDEを開く ride.py コマンドラインで、新しいプロジェクトを作成します。

クリック New Project

次に、プロジェクトに名前を付けます。

与えられた名前は変数です。[OK]をクリックしてプロジェクトを保存します。

作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-

テストケースに名前を付けて、[OK]をクリックします。

プロジェクトのセットアップが完了し、テストケースで使用するスカラー変数のテストケースを作成します。Seleniumライブラリが必要なので、プロジェクトに同じものをインポートする必要があります。

左側のプロジェクトをクリックして、[インポートの追加]から[ライブラリ]を使用します-

[ライブラリ]をクリックすると、ライブラリ名を入力する必要がある画面が表示されます-

[OK]をクリックすると、ライブラリが設定に表示されます。

指定する名前は、site-packagesにインストールされているフォルダーの名前と一致する必要があります。

名前が一致しない場合、ライブラリ名は赤で表示されます-

スカラー変数のテストケース

上記のテストケースでは、テストケースに提供するURL、電子メール、パスワードなどの値をハードコーディングしました。使用される値は変数に格納でき、ハードコーディングする代わりに、それらの場所で変数を使用できます。

スカラー変数を作成するには、以下に示すように、プロジェクトを右クリックし、[新しいスカラー]をクリックします-

New Scalarをクリックすると、次の画面が開き、変数と、テストケース内で変数を使用するときに置き換える必要のある値が作成されます。

Nameフィールドに$ {}を取得します。

ここでは、下の画面に示すように、中括弧内に変数の名前を入力する必要があります-

変数の名前は$ {url}です。値は-http://localhost/robotframework/login.html

上記のようにコメントを追加しました。[OK]をクリックして、スカラー変数を保存します。変数の詳細は以下のように追加されます-

変数名は、次のように作成されたプロジェクトの下に表示されます-

テストケース内で作成されたスカラー変数を使用してみましょう。

URLがハードコードされたテストケース

上記のテストケースでは、URLを上記で作成した変数に置き換える必要があります。

URLのスカラー変数を使用したテストケース

次に、テストケースを実行して、変数からURLを取得しているかどうかを確認します。以下は、実行したときに得られる出力です。URLhttp://localhost/robotframework/login.html 作成したスカラー変数から取得されます。

実行の詳細

変数を使用する利点は、その変数の値を変更でき、すべてのテストケースに反映されることです。そのプロジェクトで作成する多くのテストケースで変数を使用できます。値のハードコーディングは、何かを変更したいときに深刻な問題になる可能性があります。個々のテストケースに移動して、その値を変更する必要があります。変数を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で辞書変数を作成しましょう。

プロジェクトを右クリックし、新しいディクショナリ変数をクリックします。

クリックすると New Dictionary Variable、以下のような画面が表示されます−

画面のデフォルトの名前は&{}で、[値と列]オプションがあります。

テストケースで使用する名前と値を入力します。

[OK]をクリックして変数を保存します。変数はプロジェクトの下にリストされ、次のように設定にも表示されます-

ディクショナリ値を取得するようにテストケースを変更します。

以下に示すように辞書変数に変更します。

辞書変数の使用

[実行]をクリックすると、次のようになります。

実行内容は以下のとおりです。

これまで、[編集]タブと[実行]タブを見てきました。テキストエディットの場合、テストケースの詳細が書かれています。テキストエディットで必要な変数を追加することもできます。

テストケース

上記のテストケースでは、スカラー変数とディクショナリ変数を使用しました。これまでのテキストエディットのコードは次のとおりです。これは書かれたテストケースに基づいています-

使用される変数は赤で強調表示されています。以下に示すように、テキストエディットで直接必要な変数を作成することもできます。

と呼ばれるスカラー変数を追加しました ${new_url} 与えられた値は https://www.tutorialspoint.com/。

クリック Apply Changes 左上隅のボタンと変数は、以下に示すようにプロジェクトの下に表示されます-

同様に、他の変数-リスト変数と辞書変数は、必要に応じて[テキストエディット]タブ内に直接作成できます。

結論

変数を作成して使用する方法を見てきました。Robot Frameworkでサポートされている変数には、スカラー、リスト、辞書の3種類があります。これらすべての変数の動作について詳しく説明しました。