understanding working with robot framework
チュートリアルでは、RobotFrameworkで基本的なテストケースを作成して実行する方法について説明します。 RobotFrameworkの変数とキーワードについても学習します。
私たちはについて学びました Robot Framework IDEの基本– RIDE 以前のチュートリアルでは、この中でRIDEを使用してテストスクリプトの作成を開始するのに役立ちます RobotFrameworkシリーズ 。
チュートリアルでは、RobotFrameworkの基本を理解できます。
RobotFrameworkで使用できる変数と変数のタイプについて学習します。変数を作成して使用する方法を見ていきます。また、キーワードとそのさまざまなタイプについても理解します。また、キーワードを作成して使用する方法についても学びます。
技術的な新入生のためのJavaインタビューの質問と回答
さらに、このチュートリアルでは、テストケースの実行に役立つRIDEのセットアップオプションとティアダウンオプションについての知識も得られます。また、選択的なテストケースの実行に役立つRIDEの機能であるタグについても学習します。
最も重要なことは、いくつかのサンプルテストケースのテストスクリプト(ロケーターありとなし)を作成することです。これらのテストスクリプトがRideでどのように実行されるかを学び、最後にチュートリアルの終わりに向かって、実行されたテストスクリプトのレポートを表示する方法を学びます。
チュートリアルは、いつでも参照できるRobotFrameworkの役立つリンクで締めくくります。
学習内容:
- 基本的なテストケースの作成と実行
- RobotFrameworkの変数を理解する
- RobotFrameworkのキーワードを理解する
- RIDEでのセットアップとティアダウンの使用
- RIDEでのタグの使用
- ロケーターを使用したテストケースの作成
- RobotFrameworkでのキーワードとデータ駆動型アプローチの理解
- ライドでのレポートへのアクセス
- 結論
- 推奨読書
基本的なテストケースの作成と実行
次に、RIDEで基本的なテストケースを作成します。ここでは、Chromeブラウザでウェブサイトgoogle.comを開き、ブラウザを閉じます。それでは、Rideを使用したRobotFrameworkの最初のテストケースから始めましょう。
クリック 「testCase1」 グリッドが表示されます((編集)タブが表示されているはずです)。
以下の手順に従って、コードを記述します。
- 最初のセルに「OpenBrowser」(Selenium Libraryから提供されたキーワード)と入力します。
- 入力を開始したら、ctrl + alt +スペースバー(またはctrl +スペースバー)を選択して、コンテンツの支援を受けます。
- 次のセルにURLを入力します グーグル 。
- 3番目のセルにブラウザ名を入力します。ブラウザ名の指定はオプションです。
- 次の行の最初のセルに「ブラウザを閉じる」と入力します。
今何をしたかを理解しましょう。
- 「OpenBrowser」は、上記のテストケースでインポートしたSeleniumライブラリによって提供されるキーワードです。
- コンテンツアシスタンスは、覚えていなくても正確な構文をサポートしてくれます。
- 「ブラウザを開く」は、ブラウザで開きたいサイトのURLとして最初の引数を取ります。 2番目の引数はオプションであり、使用するブラウザーを指定します。これが言及されていない場合は、Firefoxがデフォルトのブラウザとして使用されます。
- 「ブラウザを閉じる」は、開いたブラウザを閉じるSeleniumLibraryのキーワードです。
次に、以下の手順に従ってこのコードを実行します。
- (実行)タブをクリックします–このタブには、テストケースを実行するためのオプションが含まれています。
- (自動保存)をオンにします–テストケースへの未保存の変更が自動的に保存されることを確認します。
- 「TestCase1」を確認します–実行するテストケースをRIDEに通知します。
- (開始)ボタンをクリックします–テストケースの実行を開始します。
テストケースは正常に実行されます。以下は、テストケースが正常に実行された後に表示される画面です。ここでは、テストの実行にかかった合計時間と、合格および不合格のテストケースの数を確認できます。
これに加えて、実行されたテストケースのレポートとログを表示するオプションもあります。これは、今後のチュートリアルで確認します。
RobotFrameworkの変数を理解する
変数を使用する他のプログラミング言語と同様に、RobotFrameworkにも変数があります。
変数とは何ですか?
変数は、何らかの値を含む名前で参照される保管場所に他なりません。
変数の種類
Robot Frameworkには、次の3種類の変数があります。
- スカラー
- リスト
- 辞書
次の2つのトピックでは、上記の各タイプの変数を作成して使用する方法を説明します。
変数の作成
Robot Frameworkでは、変数は大文字と小文字を区別しません。グローバル変数(テストケースのセット全体で使用される)を参照するために大文字を使用し、ローカル変数(特定のテストケースでのみ使用される)を参照するために小文字を使用する必要があります。
変数に名前を付けるために、中括弧内に記述された変数名の前に変数タイプ識別子(&、%、$、@)を使用しました。各変数タイプがどのように宣言されているかを見てみましょう。
#1)スカラー変数 :スカラー変数は$ {Name}として参照されます。
ここで、$ –は変数タイプを指します。つまり、スカラー名–は変数名です。
原則として、これは中括弧内に配置されます。スカラー変数には、文字列、オブジェクト、数値、リスト、辞書、カスタムオブジェクトなどの任意の値を指定できます。
スカラー変数「a」に値5を割り当てましょう。
これを行うには、以下の手順に従います。
TestCase1(右クリック)->新しいスカラー
以下に示すようなポップアップ画面が表示されます。
上記のスナップショットに示されているように、中括弧内に変数名を入力します。 (値)テキストボックスに値を入力し、必要に応じてコメントを追加します。
このスカラー変数–先ほど作成した$ {a}は、左側のパネルに表示されます。
#2)リスト変数 :リスト変数は@ {name}として参照されます。
ここで、@ –は変数タイプを指します。つまり、リスト名–は変数名です。原則として、これは中括弧内に配置されます。
このリストを使用すると、Pythonリストまたはリストのようなオブジェクトをリストに格納できます。 Robot Frameworkでは、文字列をリストとして使用することはできませんが、タプルや辞書などのオブジェクトは使用できます。
変数「b」をリストするために、値「Hello」、「Robot」、および「Framework」を割り当てましょう。これを行うには、以下の手順に従います。
TestSuite1(右クリック)->新しいリスト変数
以下のようなポップアップ画面が表示されます。列ドロップのデフォルトの「4」の代わりに、「2」を選択します。
次に、以下の手順に従います。
- 以下のスナップショットに示すように、中括弧内に変数名「b」を入力します。
- (値)テキストボックスに値を入力します。
- コメントを追加します(オプション)。
- (OK)をクリックして変数を保存します。
リスト変数内の各値は、リストの最初の値の0から考慮されるインデックスを基準にしてアクセスされます。 例えば、 フレームワークを参照するには、インデックスが2になる位置3にあるため、@ {b} (2)と記述します。
#3)辞書変数 :辞書変数は&{Name}として参照されます。
ここで、&–は変数タイプを指します。つまり、辞書名–は変数名です。原則として、これは中括弧内に配置されます。
ディクショナリ変数は主に、キーと値のペアを持つテーブルがある場合に使用されます。たとえば、IDとパスワードのセットのログインをテストする場合です。 List変数とDictionary変数の違いは、それらがどのように参照されるかであり、今後それを確認します。
辞書変数「login」を作成し、次のように値を割り当てます:「testingrf19@gmail.com」、「123」。これを行うには、以下の手順に従います。
TestSuite1(右クリック)->新しい辞書変数
以下のようなポップアップ画面が表示されます。列ドロップのデフォルトの「4」の代わりに、「1」を選択します。
次に、以下の手順に従います。
- 以下のスナップショットに示すように、中括弧内に変数名「login」を入力します。
- (値)テキストボックスに値を入力します。
- コメントを追加します(オプション)。
- (OK)をクリックして変数を保存します。
インデックスを使用してその中の個々の値を参照するリスト変数とは異なり、ディクショナリ変数はより明確な方法を使用してその値を参照します。上記の場合と同様に、&{login} (email)と&{login} (password)を使用します。これは一目瞭然ではありませんか?
これらの作成された変数は、「TestSuite1」((編集)タブ)にも表示されます。
変数の使用
ここで、テストケース内でこれらの変数をどのように使用できるかを見ていきます。以前に作成したテストケースを使用し、使用したURLを、代わりにURLを格納する変数に置き換えます。それでは、「URL」という名前のスカラー変数を作成して、値を格納しましょう。 グーグル 初期化。
ここで、URLをコード内の変数に置き換えます。これはスカラー変数であるため、$ {URL}として参照されます。テストケースは次のようになります。
このテストケースを実行して、変数「URL」が正しい値に置き換えられるかどうかを確認しましょう。はい!テストケースは正常に実行されます。 Google COM ブラウザで開き、ブラウザを閉じます。結果はそれが成功したことを示しています。
左側のパネルのテストケース名と右側のパネルのPASSの横にある緑色の記号は、テストケースの実行が成功したことを示しています。
これは、テストケース内で変数を使用する方法です。変数を使用する利点は、複数の場所で同じ値を使用している場合に明らかになります。値に変更があるときはいつでも、変数の値を置き換えるだけでよく、変数が使用されたすべての場所で同じことが反映されます。
同様に、テストケース内で必要に応じてリストと辞書変数を使用できます。
RobotFrameworkのキーワードを理解する
キーワードとは何ですか?
名前が示すキーワード(「キー」+「単語」)は、表示されていないもののキーとして機能する単語です。もっと簡単に言えば、実行する10のステップがあるタスクがあり、それらの10のステップに言及し、名前で参照する場合、その名前はキーワードであることを理解してください。
キーワードの種類
Robot Frameworkには、次の2種類のキーワードがあります。
- ライブラリキーワード :これらのキーワードは、低レベルキーワードとも呼ばれます。これらは、Robot Frameworkで使用されるライブラリ(BuiltinおよびExternalライブラリ)によって利用可能になります。 例えば、 Builtinライブラリによって提供されるキーワード「LogtoConsole」があり、「OpenBrowser」はSeleniumライブラリによって提供されるキーワードです。
- ユーザー定義のキーワード :これらは高レベルキーワードとも呼ばれます。それらはユーザーによって定義されます。ユーザー定義のキーワードには、他のライブラリキーワードや他のアクションも含めることができます。
キーワードの作成
このチュートリアルでは、ユーザー定義のキーワードを作成する方法について説明します。
右クリック 「testSuite1」 選択します 「新しいユーザーキーワード」 。
以下のような画面がポップアップ表示されます。 Googleのウェブサイトを開くためのキーワードを作成しましょう。したがって、作成したテストケースのタスクを実行するためのキーワードは1つだけです。
作成したテストケースを開き、追加した手順を確認します。 Chromeでgoogle.comを開いてから、ブラウザを閉じました。
名前を付けましょう 「Googleを開く」 キーワードをクリックして、(OK)をクリックします。
キーワードが定義され、実行する必要のあるアクションがこのキーワード内に書き込まれます。だから「 Googleを開く TestCase1で書いたのと同じステップを書いてください。
以下に示すように、キーワード「 Opengoogle 」が開きます Google COM Chromeブラウザで、ブラウザを終了します。
キーワードの使用
これで、キーワード「 Googleを開く 」。テストケースで使用するのは非常に簡単です。まず、以下のgoogleを開くために作成した元のテストケースを見てください。
ここで、このコードをキーワードに置き換えます。キーワードの入力を開始してコンテンツアシスタントを開くと、表示されるリスト内にもこのキーワードが表示されます。以下のスクリーンショットを見てください。
交換すると、TestCase1は次のようにシンプルになります。
これを実行して、意図したとおりに機能するかどうかを確認しましょう。
はい!テストケースに合格し、期待どおりの結果が得られました。
RIDEでのセットアップとティアダウンの使用
名前が示すように、セットアップは、実際のテストケースを実行するための初期準備として実行される命令/キーワードのセットです。例として、一般的にテストケースを実行する場合、基本的な要件はブラウザを開くことです。したがって、ブラウザを開くこのステップをセットアップアクティビティとしていつでも追加できます。
同様に、ティアダウンは、テストケースの実行の最後に実行される一連の命令/キーワードです。例として、テストケースの実行が終了したら、ブラウザーを閉じます。したがって、ブラウザを閉じるこのステップをいつでも分解アクティビティとして追加できます。
セットアップおよびティアダウンアクティビティは、次の場所で宣言できます。
- テストスイートレベル: テストスイートレベルで宣言すると、そのテストスイート内のテストケースが実行される前に、セットアップ命令が実行されます。同様に、テストスイートレベルで宣言されたティアダウンは、そのテストスイート内のテストケースのいずれかが実行された後に実行されます。
- テストケースレベル :テストケースレベルで宣言されると、そのテストスイート内のテストケースの実行が実行される前に、セットアップ命令が実行されます。同様に、テストケースレベルで宣言されたティアダウンは、テストケースの実行後に実行されます。
次に、テストケースレベルでセットアップアクティビティを追加する方法を見てみましょう。
- TestCase2を作成します。
- 右側のパネルの(設定)のすぐ下にある(設定)の(編集)ボタンをクリックします。
- この場合、「ブラウザを開く」というキーワードを入力します。ここでもコンテンツアシスタンスを使用できます。
- 引数は、「|」パイプ記号で区切ることにより、キーワードと一緒に渡すことができます。
- (OK)をクリックします。
ここで、テストケースレベルで分解アクティビティを追加する方法を見てみましょう。
- TestCase1をクリックします
- 右側のパネルの(設定)のすぐ下にある(編集)ボタンをクリックして破棄します。
- この場合、「ブラウザを閉じる」というキーワードを入力します。ここでもコンテンツアシスタンスを使用できます。
- (OK)をクリックします。
テストケースの両方のステップをセットアップおよび破棄アクティビティとして移動したので、テストケースにもう1つのステップを追加して、実行して結果を確認できるようにします。コンソールに「こんにちは」と表示してみましょう。使用したキーワードは、ビルトインライブラリの「ログ」です。
TestCase2は次のようになります。
実行されると、最初にセットアップが実行され、次にコンソールに「Hello」が記録され、最後にティアダウンアクティビティが実行され、ブラウザが閉じます。
RIDEでのタグの使用
タグ付けは、テストケースのセットをグループ化して実行するか、実行を回避する場合に使用されます。私たちは主に、回帰、煙、正気の下でテストをグループ化します。または、いくつかの重要な機能を繰り返しテストする必要があるシナリオの場合もあります。
タグがどのように作成および使用されるかを理解するために、「TestCase3」と「TestCase4」という2つの簡単なテストケースを作成しましょう。このためのコードは次のとおりです。キーワードを使用しました、 「コンソールにログイン」 これはBuiltinライブラリからのものです。
テストケース3
テストケース4
これらのテストケースにタグを付けるには、以下の手順に従います。
- (タグ)の(編集)ボタンをクリックします。
- ポップアップで、タグの名前、たとえばCase3を入力します。
- (OK)をクリックします
データマイニングにおける決定木アルゴリズム
両方のテストケースに「Case3」というタグが付けられました。これをどのように使用できるか見てみましょう。
testcase3とtestcase4のみを実行したいとします。
- (実行)タブに移動
- チェックボックスをオンにします 「これらのタグでのみテストを実行する」
- 下のテキストボックスに「Case3」と入力します。
- スタートボタンをクリックします。
テストケースは選択していませんが、テストの実行後、「TestCase3」と「TestCase4」のみが実行されていることがわかります。
同様に、を使用して特定のタグ付きテストケースをスキップするオプションもあります 「これらのタグを使用したテストをスキップする」 タグ名に言及します。
キーワードを使用して実行時に動的にタグを作成するオプションもあります 「タグの設定」 、同様に、キーワードを使用して実行時にタグを削除することもできます 「タグを削除」 。
このチュートリアルで、タグの作成と使用について明確なアイデアが得られたことを願っています。
ロケーターを使用したテストケースの作成
コンソールで何かを書くか、ブラウザを開くだけの非常に基本的なテストケースを作成しました。ここで、ロケーターの使用を含むテストケースを作成しましょう。
Webサイトまたはアプリケーションのテストには、要素の検索が含まれます。要素に対してアクションを実行する場合は、そのロケーターを知る必要があります。通常、「id」または「name」は、ページ上で要素を識別し、キーワードを使用してその要素に対してアクションを実行するために使用される要素の属性です。
ブラウザを開いて、RobotFrameworkの公式ウェブサイトを検索して開きます。
さあ、このためのコードを書いてみましょう。
- TestSuite1内に「TestCase5」を作成します。
- ブラウザ(Chrome)を開きます。
- 次に、Google検索テキストボックスのロケーターを見つけます。
Chromeの設定->ツール->開発者ツール 。
Ctrl + Shift + Iを使用して同じものにアクセスすることもできます。
- 開発者ツールを開いた状態で、以下に示すように要素の検索アイコンをクリックします。
- 強調表示されるまでGoogle検索テキストボックスにカーソルを合わせてクリックします。検索ボックスに関連するコードが右側のパネルで強調表示されていることがわかります。
- コードから、name = ’q’をロケーターとして使用します。
- 「入力テキスト」は、Google検索ボックスにテキストを入力するために使用されるSeleniumキーワードです。
- Enterキーを押して、検索結果を取得します。
これが私たちのコードがどのように見えるかです。とてもシンプルに見えます!!そうですね。
練習がすべてです。必要なのは、特定のアクションを自動化するために使用できるキーワードを思い出せるようにすることだけです。したがって、テストを自動化すればするほど、このフレームワークでの作業が快適になります。
実行後の上記のテストケースの結果は以下のとおりです。 「RobotFramework」の検索結果を表示すると、Chromeブラウザが下に開いているように見えます。
RobotFrameworkでのキーワードとデータ駆動型アプローチの理解
Robot Frameworkでテストケースを作成するときは、次のいずれかのアプローチに従います。
- キーワード主導のアプローチ: テストケースの作成にキーワードを使用する場合、それをキーワード駆動型アプローチと呼びます。キーワード駆動型のアプローチにより、テストケースの読みやすさが向上します。テストケースでキーワードを作成して使用する方法については、すでに説明しました。
- データ駆動型アプローチ :このアプローチは、主に、さまざまなデータ値のロジックをテストする場合に使用されます。このアプローチでは、高レベルのキーワードのテンプレートが作成され、このキーワードへの引数は、テストケースを実行する必要があるデータ値であるテストケースから送信されます。
テストケースでこのアプローチをどのように使用するかは、新しいキーワードを作成するときに以下に表示されます。
さまざまなテスト自動化ツール/フレームワーク(Robot Framework、J-meter、Seleniumなど)を検索するためのテストケースを作成しましょう。
テストケースには、データ、この場合はテンプレートに引数として渡される検索ワードのみが含まれます。テンプレートには、実行される実際のコードを持つ高レベルのキーワードが含まれます。検索値はテストケースに書き込まれます。
この簡単な理解を踏まえて、以下の手順に従ってテンプレート「Google検索」を作成しましょう。
- 「ライドでのプロジェクト、テストスイート、およびテストケースの作成」のトピックで説明されているように、TestCase6を作成します。
- テンプレートの(編集)をクリックして、名前を入力します。私たちの場合は「Google検索」。
- TestCase5と同じコードを使用しますが、検索するテキストが以下に示すように引数として渡されるという唯一の違いがあります。
- この引数は、(引数)テキストボックスにも記載されています。したがって、(引数)テキストボックスで(編集)をクリックし、引数を入力して(OK)をクリックします。
- 次に、TestCase6に戻り、データを入力します。
- これは、テストケースの実行が完了した後の画面の外観です。
Chromeブラウザの5つのインスタンスが開き、それぞれに、検索した5つの異なるテスト自動化ツールの検索結果が表示されます。
このテストケースによって、データ駆動型アプローチが明確になったことを願っています。このような例をもっと試してみると、このアプローチは非常に簡単に思えます。
ライドでのレポートへのアクセス
以下は、TestCase6が実行された後のスクリーンショットです。以下に示すように、「レポート」と「ログ」の2つのオプションがあります。また、ログとレポートにアクセスするための完全なリンクも提供します。
報告する –testCase6の実行結果
実行されたテストスイートの概要レポートを提供します。テストスイートをクリックすると、テストスイートの詳細がテストケースごとに表示されます。さらにテストケースをクリックすると、ログと呼ばれるテストケースの詳細が開きます。
ログ –testCase6の実行結果。
ログは、プロジェクト全体の詳細なレポートテストケースを提供します。
レポートアイコンとログアイコンに加えて。これらのURLは、コピーしてブラウザで直接開くこともできます。テストケースを実行した後、「レポート」、「ログ」アイコンが無効になることがあるのは既知の問題です。このようなシナリオでは、これらのリンクをコピーしてブラウザで開き、レポートを表示できます。
URLは、レポートが保存されるローカルマシン内の場所です。テストケースを実行するたびに、この場所が更新され、生成された新しいレポートがこの場所に保存されます。
Robot Framework –便利なリンク
結論
初心者として、このチュートリアルがテスト自動化ツールとしてのRobotFrameworkの使用に関する十分な知識を提供してくれることを願っています。
このチュートリアルでは、変数とキーワードの作成について学習しました。キーワード駆動およびデータ駆動のアプローチを使用してテストスクリプトを作成する方法を見ました。
また、実践的なテストスクリプトの実行も行いました。チュートリアルでは、ログとレポートを介して詳細なテスト結果を表示するための洞察が得られました。そのほか、RobotFrameworkに関連する重要なURLも共有されています。
「練習すれば人は完璧になります」ので、遅滞なくこのツールをできるだけ使いこなして、徐々に自信を持って使えるようにしましょう。
幸せな読書!!