Robot-framework-quick-guide

提供:Dev Guides
移動先:案内検索

ロボットフレームワーク-概要

  • ロボットフレームワーク*は、受け入れテストおよび受け入れテスト駆動開発のためのオープンソースのテスト自動化フレームワークです。 テストケースを作成するためのキーワード駆動型、動作駆動型、データ駆動型のさまざまなテストケーススタイルに従います。 Robot Frameworkは、外部ライブラリ、オープンソースで自動化に使用できるツールのサポートを提供します。 使用される最も一般的なライブラリは、Web開発およびUIテストに使用されるSeleniumライブラリです。

テストケースは、表形式のキーワードスタイルを使用して記述されます。 テストケースの作成には、任意のテキストエディターまたはRobot Integrated Development Environment(RIDE)を使用できます。

ロボットフレームワークは、利用可能なすべてのオペレーティングシステムで正常に動作します。 フレームワークはPythonで構築され、Jython(JVM)およびIronPython(.NET)で実行されます。

ロボットフレームワークの機能

このセクションでは、ロボットが提供するさまざまな機能について説明します。

テストケースの表形式

ロボットフレームワークには、キーワードを使用してテストケースが記述される単純な表形式が付属しています。 新しい開発者は、テストケースを理解して記述しやすくなります。

キーワード

ロボットフレームワークには、ロボットフレームワークで使用可能な組み込みキーワード、Selenium Libraryなどのライブラリから使用可能なキーワード(ブラウザーを開く、ブラウザーを閉じる、ブラウザーを最大化するなど)が付属しています。 また、他のユーザー定義キーワードまたは組み込みキーワードまたはライブラリキーワードの組み合わせであるユーザー定義キーワードを作成することもできます。 これらのキーワードに引数を渡すこともできます。これにより、再利用可能な関数のようなユーザー定義のキーワードが作成されます。

変数

ロボットフレームワークは変数(スカラー、リスト、辞書)をサポートしています。 ロボットフレームワークの変数は使いやすく、複雑なテストケースを作成する際に非常に役立ちます。

図書館

ロボットフレームワークは、SeleniumLibrary、データベースライブラリ、FTPライブラリ、httpライブラリなどの多くの外部ライブラリをサポートしています。 SeleniumLibraryは、ブラウザとのやり取りやWebアプリケーションとUIのテストに役立つため、主に使用されます。 ロボットフレームワークには、文字列、日付、数字などの独自の組み込みライブラリもあります。

リソース

ロボットフレームワークでは、テストケースで使用するキーワードを外部に含むロボットファイルをインポートすることもできます。 リソースは非常に使いやすく、他のテストプロジェクト用にすでに作成されたキーワードを使用する必要がある場合に非常に役立ちます。

データ駆動型テストケース

ロボットフレームワークは、キーワード駆動型のテストケースとデータ駆動型のスタイルをサポートしています。 データ駆動型は、テストスイートのテンプレートとして使用される高レベルのキーワードで動作し、テストケースは、テンプレートで定義された高レベルのキーワードとデータを共有するために使用されます。 これにより、さまざまな入力でUIをテストする作業が非常に簡単になります。

テストケースのタグ付け

ロボットフレームワークでは、テストケースにタグを付けることができるため、タグのテストケースを実行するか、タグの付いたテストケースをスキップできます。 タグ付けは、テストケースのグループのみを実行する場合やスキップする場合に役立ちます。

レポートとログ

ロボットフレームワークは、テストスイートのすべての詳細、レポートおよびログの形式でのテストケースの実行を提供します。 テストケースのすべての実行の詳細は、ログファイルで確認できます。 テストケースが失敗したか合格したか、実行にかかった時間、テストケースを実行するための手順などの詳細が提供されます。

RIDE

Robotフレームワークで利用可能なこのエディターは、テストケースの作成と実行に役立ちます。 エディターのインストールと使用は非常に簡単です。 RIDEは、フレームワーク固有のコード補完、構文の強調表示などを提供することにより、テストケースの作成を簡単にします。 プロジェクト、テストスイート、テストケース、キーワード、変数、ライブラリのインポート、実行、テストケースのタグ付けは、エディターで簡単に実行できます。 ロボットフレームワークは、ロボットのテストケースをサポートするEclipse、Sublime、Textmate、Pycharmのプラグインも提供します。

ロボットフレームワークの利点

ロボットフレームワークはオープンソースなので、試してみたい人は誰でも簡単に試すことができます。

  • インストールは非常に簡単で、テストケースの作成と実行に役立ちます。 初心者は簡単に理解でき、ロボットフレームワークの使用を開始するためのテストに関する高度な知識は必要ありません。
  • テストケースを記述するためのキーワード駆動型、動作駆動型、およびデータ駆動型のスタイルをサポートしています。
  • 外部ライブラリを適切にサポートします。 最もよく使用されるのは、ロボットフレームワークに簡単にインストールして使用できるSelenium Libraryです。

ロボットフレームワークの制限

ロボットには、コードが複雑になる場合に必要なif-elseのネストされたループのサポートがありません。

結論

Robot Frameworkは、受け入れテストと受け入れテスト駆動開発のためのオープンソーステスト自動化フレームワークです。 Robot Frameworkのテストケースは、表形式で記述されたキーワードに基づいているため、明確で読みやすくなり、テストケースの意図に関する正しい情報を伝えます。 たとえば、ブラウザを開く場合、使用されるキーワードは*「ブラウザを開く」*です。

ロボットフレームワーク-環境設定

ロボットフレームワークは、Pythonを使用して構築されます。 この章では、ロボットフレームワークのセットアップ方法を学習します。 ロボットフレームワークを使用するには、次をインストールする必要があります-

  • Python
  • pip
  • ロボットフレームワーク
  • Ride IDEのwxPython
  • ロボットフレームワークライド

Pythonをインストールする

pythonをインストールするには、python公式サイト-https://www.python.org/downloads/にアクセスし、オペレーティングシステム(Windows、Linux/Unix、Mac、およびOS Xごとに最新バージョンまたは以前のバージョンのpythonをダウンロードします。 )使用する予定です。

これは、Pythonダウンロードサイトのスクリーンショットです-

Pythonのインストール

リリース日ごとに利用可能な最新バージョンは次のとおりです-

リリース日

Pythonをダウンロードする前に、コマンドラインで次のコマンドを実行して、Pythonが既に存在するかどうかを確認することをお勧めします-

Windowsインストール

python --version

Windowsインストール

出力としてpythonのバージョンを取得すると、システムにpythonがインストールされています。 それ以外の場合、上記のように表示されます。

ここでは、現在使用しているWindows 8と互換性があるため、Pythonバージョン2.7をダウンロードします。 ダウンロードしたら、.exe python downloadをダブルクリックして、システムにpythonをインストールします。 インストール手順に従って、システムにPythonをインストールします。 インストールした後、Pythonをグローバルに使用可能にするには、次のようにWindowsの環境変数にパスを追加する必要があります-

Windowsのパスを設定する

[マイコンピュータ]アイコンを右クリックして、プロパティを選択します。 [システムの詳細設定]をクリックすると、次の画面が表示されます。

パスウィンドウの設定

上で強調表示された_Environment Variables_ボタンをクリックすると、次のように画面が表示されます-

環境変数

_Variable Path_を選択し、_Edit_ボタンをクリックします。

可変パス

上記のように、pythonがインストールされているパスを取得し、最後に同じ変数値を追加します。

これが完了すると、以下に示すように、Pythonが任意のパスまたはディレクトリからインストールされているかどうかを確認できます-

変数値

Robot Framework-UnixおよびLinuxのインストール

Unix/LinuxマシンにPythonをインストールするための簡単な手順をいくつか見てみましょう。 Webブラウザーを開き、https://www.python.org/downloads/にアクセスします。

  • リンクに従って、Unix/Linuxで利用可能なzip形式のソースコードをダウンロードします。
  • ファイルをダウンロードして抽出します。
  • 一部のオプションをカスタマイズする場合は、Modules/Setupファイルを編集します。
  • ./configureスクリプトを実行します
  • make
  • インストールする

これにより、Pythonは標準の場所_/usr/local/bin_にインストールされ、そのライブラリは_/usr/local/lib/pythonXX_にインストールされます(XXはPythonのバージョンです)。

Unix/Linuxでのパスの設定

Unixで特定のセッションのパスにPythonディレクトリを追加するには-

cshシェルで

setenv PATH "$ PATH:/usr/local/bin/python"と入力し、Enterを押します。

bashシェル(Linux)

export ATH = "$ PATH:/usr/local/bin/python"と入力し、Enterを押します。

shまたはkshシェルで

PATH = "$ PATH:/usr/local/bin/python"と入力してEnterを押します。

注意-/usr/local/bin/pythonはPythonディレクトリのパスです

PIPをインストールする

ここで、次のステップであるpythonのpipインストールを確認します。 PIPは、Pythonのモジュールをインストールするパッケージマネージャーです。

PIPはPythonと一緒にインストールされ、次のようにコマンドラインで同じことを確認できます-

コマンド

pip --version

PIPのインストール

ここでは、まだpipのバージョンを取得していません。 グローバルに使用できるように、環境変数にpipパスを追加する必要があります。 以下に示すように、PIPはpythonのScriptsフォルダーにインストールされます-

インストール済みスクリプト

環境変数に戻り、変数リストにpipのパスを追加します。 次のように環境変数にC:\ Python27 \ SCriptsを追加します-

環境変数Ex

コマンドラインを開き、インストールされているpipのバージョンを確認します-

コマンドライン

これで、pythonとpipがインストールされました。

ロボットフレームワークをインストールする

私たちは今、ピップを使用します– Pythonパッケージマネージャは、ロボットフレームワークをインストールし、そのためのコマンドは次のとおりです-

コマンド

pip install robotframework

ロボットフレームワークのインストール

インストールが完了したら、以下に示すようにインストールされたロボットフレームワークのバージョンを確認できます-

コマンド

robot --version

インストールされたフレームワーク

したがって、Robot Framework 3.0.4がインストールされていることがわかります。

wxPythonをインストールする

Robot Framework RideにはwxPythonが必要です。これはRobot FrameworkのIDEです。

*Windows* の場合、wxPythonに必要なダウンロードを取得するには、次のURLにアクセスしてください-

https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

また、Windowsオペレーティングシステムに従って、32ビットまたは64ビットのwxpythonをWindows用にダウンロードします。

wxPythonのインストール

32ビットwxPythonをダウンロードしてインストールします。

bit wxPython

インストールが完了すると、コマンドラインが開き、以下に示すようにいくつかのコマンドが自動実行されます-

bit wxPython Ex

wxPythonがインストールされました。次のステップであるRobot FrameworkでRIDE Ideを使用するには、このモジュールが必要です。

*Linux* では、パッケージマネージャーでwxPythonをインストールできるはずです。 たとえば、sudo apt-get install pythonwxgtk2.8を実行しているUbuntuなどのDebianベースのシステムでは十分なはずです。

OS Xで

> defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

または、単にRIDE実行のために-

> VERSIONER_PYTHON_PREFER_32_BIT=yes ride.py

ライドをインストール

ライドはRobot Framework IDEです。 以下に示すように、pipを使用してインストールできます。

コマンド

pip install robotframework-ride

Install Ride

インストールが完了したら、コマンドプロンプトを開き、次のコマンドを入力してRide-IDEを開きます。

コマンド

ride.py

上記のコマンドは、次のようにIDEを開きます-

Ride-IDE

これで、ロボットフレームワークのインストールが完了し、ロボットフレームワークの使用を開始できます。

結論

これで、Python、pip、ロボットフレームワークをインストールする方法と、RIDEをインストールして、ロボットフレームワークのテストケースを操作する方法がわかりました。

ロボットフレームワーク-ライドの概要

RideはRobot Frameworkのテストエディターです。 さらに、Rideでテストケースを作成します。 Rideを開始するには、次のコマンドを実行する必要があります。

コマンド

ride.py

ロボットフレームワークのテスト

上記のコマンドは、次のスクリーンショットに示すようにIDEを開きます-

Robot Framework IDE

この章では、IDEで利用可能なオプションと機能を確認するためにエディターをウォークスルーします。 オプションと機能は、プロジェクトのテストに役立ちます。

新しいプロジェクトを作成

[ファイル]に移動し、以下に示すように[新しいプロジェクト]をクリックします-

新規プロジェクトの作成

[新しいプロジェクト]をクリックすると、次の画面が表示されます。

新規プロジェクトの作成Ex

プロジェクトの名前を入力します。 作成済みパスは、プロジェクトが保存されるパスです。 必要に応じて場所を変更できます。 プロジェクトは、ファイルまたはディレクトリとして保存できます。 プロジェクトをROBOT、TXT、TSV、HTMLなどの形式で保存することもできます。 このチュートリアルでは、ROBOT形式を使用し、テストケースを作成および実行する方法を使用します。

次に、プロジェクトをファイルとして以下のように追加します。 プロジェクトにはTestingという名前が付けられ、プロジェクトの作成後に次の画面が表示されます。

テストケース

プロジェクトの名前が左側に表示され、右側に3つのタブEdit、TextEdit、およびRunが表示されます。

上記のように、編集のUIには多くのオプションがあります。 このセクションでは、テストケースの実行に必要なデータを追加できます。 ライブラリ、リソース、変数、スカラーの追加、リストの追加、辞書の追加、メタデータの追加をインポートできます。

[編集]セクションに追加された詳細は、次のタブである[テキスト編集]に表示されます。 ここでコードをテキスト編集セクションに記述できます。

セクションの編集

Texteditに変更が追加された場合、[編集]セクションに表示されます。 したがって、[編集]タブと[テキスト編集]タブは相互に依存しており、行われた変更は両方に表示されます。

テストケースの準備ができたら、3番目の[実行]タブを使用してテストケースを実行できます。

3番目のタブの実行

Run UIは上記のとおりです。 テストケースを実行でき、開始、停止、一時停止、次のテストケース、ステップオーバーなどのオプションが用意されています。 実行中のテストケースのレポート、ログを作成することもできます。

テストケースを作成するには、次を行う必要があります-

作成されたプロジェクトを右クリックし、以下に示すように新しいテストケースをクリックします-

作成されたプロジェクト

[新しいテストケース]をクリックすると、次のような画面が表示されます-

新しいテストケース

テストケースの名前を入力し、[OK]をクリックします。 テストケースをTC0として保存しました。 テストケースが保存されると、次の画面が表示されます。

新しいテストケースの例

テストケースには、ドキュメント、セットアップ、分解、タグ、タイムアウト、テンプレートなどのオプションがあります。 それらには編集ボタンがあります。ボタンをクリックすると画面が表示され、各オプションの詳細を入力できます。 これらの詳細のさまざまなパラメーターについては、以降の章で説明します。

以下に示すように、テストケースは表形式で記述できます。 ロボットフレームワークのテストケースはキーワードベースであり、組み込みのキーワードまたはライブラリからインポートされたキーワードを使用してテストケースを作成できます。 ユーザー定義のキーワード、変数なども作成できます。 ロボットフレームワーク。

以下に示すように、テストバーを実行/停止するためのナビゲーションバーで利用可能なショートカットがあります-

ユーザー定義のキーワード

以下のスクリーンショットに示すように、検索キーワードオプションを使用できます-

screenshot

ロボットフレームワークで使用可能なキーワードのリストを取得するには、以下に示すように、表形式でctrl + spaceキーを押すと、使用可能なすべてのキーワードが表示されます-

キーワードのリスト

キーワードを思い出せない場合は、詳細を確認するのに役立ちます。 各キーワードで詳細を確認できます。 詳細には、関連キーワードの使用方法も示されています。 次の章では、乗車時に最初のテストケースを作成する方法を学びます。

結論

この章では、RIDEで利用可能な機能について説明しました。 また、テストケースを作成して実行する方法も学びました。

ロボットフレームワーク-ライドを使用した最初のテストケース

RIDEを調査し、最初のテストケースに取り組みます。

コマンドプロンプトからライドを開くか、デスクトップにライドのショートカットを作成できます。

コマンドラインから

ride.py

デスクトップから

rideがインストールされているパスに移動します。 Windowsの場合、 C:\ Python27 \ Scripts です。

デスクトップから

ride.pyを右クリックし、[送信先→デスクトップ*(ショートカットを作成)]をクリックします。

デスクトップの送信

デスクトップに乗車のアイコンが表示されます。 クリックしてライドエディターを開くことができます。

ライドの最初のテストケースから始めましょう。 エディターを開き、[ファイル]→ [新しいプロジェクト]をクリックします。

最初のテストケース

[New Project]をクリックして、プロジェクトの名前を入力します。

新しいプロジェクト

親ディレクトリは、プロジェクトが保存されるパスです。 必要に応じてパスを変更できます。 robotframeworkというフォルダーを作成し、そのフォルダーにすべてのファイルを保存します。

親ディレクトリ

プロジェクト_FirstTestCase_が作成されます。

テストケースを作成するには、プロジェクトを右クリックします。

右クリック

[新しいテストケース]をクリックします。

新しいテストケースExx

テストケースの名前を入力し、[OK]をクリックします。

テストケースの名前

作成されたテストケースには、_Edit、Text Edit、およびRun_の3つのタブが表示されます。

[編集]タブには、設定と表形式の2つの形式があります。 2つの形式については、以降のセクションで説明します。

設定形式

[設定]には、ドキュメント、セットアップ、分解、タグ、タイムアウト、テンプレートがあります。

ドキュメンテーション

テストケースに関する詳細を追加して、後で参照しやすくすることができます。

ドキュメント

[OK]をクリックしてドキュメントを保存します。

セットアップと分解

テストケースに割り当てられたセットアップがある場合、テストケースの実行前にセットアップが実行され、テストケースの終了後に実行されるテストセットアップがティアダウンのために実行されます。 これについては、以降の章で詳しく説明します。 最初のテストケースには必要ありません。空のままにしておくことができます。

Tags

これは、テストケースのタグ付けに使用されます–特定のテストケースを含める、除外する。 また、テストケースのいずれかが重要かどうかを指定することもできます。

タイムアウト

これは、テストケースのタイムアウトを設定するために使用されます。 今のところ空のままにします。

テンプレート

これには、テストケースに使用されるキーワードが含まれます。 主にデータ駆動型テストケースに使用されます。 高レベルのユーザー定義キーワードがテンプレートで指定され、テストケースを使用してデータをキーワードに渡します。

表形式で、最初のテストケースを記述し、同じテストを実行して出力を確認します。

このテストケースでは、いくつかのログを追加して、その出力を確認します。 これを理解するために、次のスクリーンショットを考慮してください-

表形式

キーワード_Log_を使用して、上記のようにメッセージを記録しました。

編集で指定されたキーワードに基づいて、次のようにテキスト編集でコードを取得できます-

指定されたキーワード

テキストエディットでテストケースを作成することもできます。これは、表形式で反映されます。 次に、テストケースを実行して出力を確認します。

テストケースを実行するには、以下に示すようにスタートをクリックする必要があります-

表形式を反映

スタートをクリックして、ここにテストケースの出力があります-

output

テストケースは正常に実行され、詳細は上記のとおりです。 _PASS_としてステータスを示します。

以下で強調表示されているように、レポートとログでテストケースの実行の詳細を確認することもできます。

ケース実行

[レポート]をクリックすると、次のように新しいタブで詳細が開きます。

ケースレポート

レポートでは、開始時刻、終了時刻、ログファイルへのパス、テストケースのステータスなどの詳細が提供されます。

レポートの右上隅または[実行]画面から[ログ]をクリックします。

ログファイルの詳細は次のとおりです-

ログファイル

ログファイルには、テスト実行の詳細と、テストケースに対して指定したキーワードの詳細が記載されています。

レポートとログファイルでは、ステータスが緑色になります。

ここで、テストケースの失敗につながる変更をいくつか行い、出力を確認します。

ログ出力

上記のテストケースでは、Logキーワードが間違っています。 テストケースを実行し、出力を確認します-

ログキーワード

テストケースが失敗したことがわかります。 テストケースについてのエラーを強調しました。

これで、レポートとログ出力が表示されます。レポートから-

ログ出力レポート

ログから

ログから

テストケースが失敗すると、上記のように色が赤に変わります。

結論

この章では、簡単なテストケースを取り上げ、実行中に見られる結果を示します。 レポートとログには、テストケースの実行の詳細が表示されます。

テストケースの作成と実行

この章では、テストケースを作成して実行する方法を学習します。 この章では、次の領域について説明します-

  • プロジェクトのセットアップ
  • ライブラリのインポート
  • テストケースを表形式で記述する
  • タグを使用してテストケースを実行する
  • テストケースにリソースファイルを使用する

プロジェクトのセットアップ

コマンドride.pyを実行して、RIDE IDEを起動します。

コマンド

ride.py

プロジェクト設定

以下に示すように、[ファイル]→ [新しいプロジェクト]をクリックします-

新しいプロジェクトの設定

[新しいプロジェクト]をクリックすると、次のような画面が表示されます-

プロジェクト設定画面

新規プロジェクトでは、タイプがファイルまたはディレクトリとして表示されます。 デフォルトでは、ファイルが選択されています。 ディレクトリをクリックしてテストスイートを作成します。テストスイートは、そのディレクトリに多くのテストスイートを持つことができます。 各スイートにはテストケースがあります。

ここでは、ROBOT形式を使用します。

ロボット形式

親ディレクトリは、_WritingTestCases_ディレクトリが作成されるパスです。 [OK]をクリックして、テストスイートのディレクトリを保存します。

テストケースの作成

作成されたディレクトリを右クリックし、_New Suite_をクリックします。 その中にテストスイートを含むサブディレクトリを作成することもできます。

今のところ、以下に示すように、テストスイートの作成から始めます-

テストスイートの作成

スイート作成の追加

[OK]をクリックして、テストスイートを保存します。

これで、テストケースをスイートに追加できます。 以下に示すように作成されたテストスイートを右クリックします-

テストスイートの保存

[新しいテストケース]をクリックします。 以下に示すように、テストケースの名前を追加する画面が表示されます-

ディスプレイ画面

[OK]をクリックして、テストケースを保存します。 プロジェクトの準備が整いました。

ライブラリのインポート

Robot Frameworkには独自の組み込みライブラリがあり、インポートする必要はありません。 ただし、ブラウザ、データベースなどと対話する必要があります。 対話するには、ライブラリをインポートする必要があります。

ロボットフレームワークでサポートされている外部ライブラリのリストは、以下に示すように、ロボットフレームワークの公式サイトにリストされています-

ライブラリのインポート

ブラウザとWebアプリケーションを操作するために、Selenium Libraryをインポートします。 インストールについては、* Seleniumライブラリを使用したブラウザの操作の章で説明しています。*

ライブラリをインポートするには、メインプロジェクトをクリックする必要があります。 右に、設定は以下に示すようにインポートの追加オプションを表示します-

ライブラリのインポート

[ライブラリ]をクリックし、以下に示すようにライブラリの名前を入力します-

名前ライブラリ

[OK]をクリックしてライブラリを保存します。

設定は以下に示すように設定に表示されます-

表示

同じ手順を繰り返し、作成したテストスイートのライブラリを追加する必要があります。 作成されたテストスイートをクリックし、以下に示すようにライブラリをインポートします-

スイートが作成されました

左側のテストケースをクリックすると、キーワードを入力できる表形式が表示されます。 これで、組み込みキーワードと、セレンライブラリから利用可能なキーワードを使用できます。

テストケースを表形式で記述する

以下は、クロムブラウザーでURLを開く簡単なテストケースです。

書き込みテスト

以下は、テストケースの詳細を示しています-

** *Settings* **
Library SeleniumLibrary

** *Test Cases* **
TC1
   Open Browser https://www.finddevguides.com/chrome
   Maximize Browser Window
   Close Browser

同じプロジェクトにもう1つのテストケースTC2を追加します。

同じプロジェクト

** *Settings* **
Library SeleniumLibrary

** *Variables* **
${number} 100

** *Test Cases* **
TC1
   Open Browser https://www.finddevguides.com/chrome
   Maximize Browser Window
   Close Browser

TC2
   ${a} Set Variable Hi
   Log ${a}
   ${b} Set Variable If ${number}>0 Yes No
   Log ${b}

作成したテストスイートの下に複数のテストケースを追加できます。 [実行]をクリックして、テストケースを実行します。 追加されたテストケースの数に基づいて実行が行われます-

複数のテストケース

タグを使用してテストケースを実行する

テストケースTC2のみを実行する場合は、同じタグを付けることができます。 テストケースをクリックし、以下に示すように[タグ全体で編集]をクリックします-

テストケースの実行

[OK]をクリックしてタグを保存します。 以下に示すように、実行にタグ名を追加します-

タグ名

オプション→ *これらのタグでのみテストを実行*を選択し、タグ名を追加しました。 これで、タグ名を持つテストケースのみが実行されます。 任意の名前を付け、タグ名に基づいてテストケースをグループ化し、同じものを実行できます。 タグを使用してテストケースをスキップすることもできます。

追加されたタグ名

これで、実行時にTC2のみが実行されていることがわかります。

テストケースにリソースファイルを使用する

ロボットフレームワークにはリソースのオプションがあり、テストケースで使用するロボットファイルをインポートできます。

作成したテストケースTC1では、次のキーワードを使用します-

リソースファイル

次のようなキーワードを使用しました-

  • ブラウザを開く
  • ブラウザウィンドウを最大化する
  • ブラウザを閉じる

上記のテストケースでは、ユーザー定義のキーワードを使用します。 ユーザー定義のキーワードは、リソースとして使用されるロボットファイルで使用できます。

私たちは同じディレクトリにファイルを作成し、次のようにキーワードを書きます-

キーワードの詳細、つまりユーザー定義キーワードの作成方法については、_Robot Framework-キーワードの操作_の章で説明しています。

browseropen.robotファイルに示すように、 Test Browser というユーザー定義のキーワードを作成しました-

** *Settings* **
Library SeleniumLibrary

** *Variables* **
${url} https://www.finddevguides.com/
${browser} chrome

** *Keywords* **
Test Browser
   Open Browser ${url} ${browser}
   Maximize Browser Window

このファイルには、設定、変数、キーワードなどのさまざまなオプションが含まれています。 リソースとして使用するファイル内にテストケースを書き込むことはできません。 以下に示すように、上記のファイルをテストスイートのリソースとしてアップロードします。

テストスイートを選択します。 左側で、以下に示すようにリソースオプションをクリックします-

リソースオプション

リソースをクリックすると、ロボットファイルをインポートするためのパスが要求されます-

ロボットファイルのインポート

上記のようにファイルが保存されているパスを指定し、[OK]をクリックしてリソースを追加します。 以下に示すように表示されます-

リソースの追加

次に、以下に示すようなキーワードを持つテストケースTC1を変更します-

テストの変更

リソースファイルからTC1にユーザー定義のキーワードを追加します。つまり、Test Browserキーワードです-

テストブラウザ

アップロードされたリソースファイルは以下のとおりです-

アップロードされたファイル

ユーザー定義のキーワードは、テストケースTC1で使用されます。

私たちは今テストケースを実行します-

テストケースの実行

両方のテストケースに合格しています。 次に、レポートとログの詳細を見てみましょう。

報告書

テストケースの報告

Log

ログテストケース

結論

この章では、テストケースの作成方法、実行方法、テストケースのタグ付け方法、リソースの使用方法などについて詳しく説明します。

キーワードおよびデータ駆動型テストケース

テストケースのワークフローは、キーワードまたはデータ駆動型のスタイルを使用してテストできます。 異なる入力でワークフローをテストする場合は、データ駆動型テストケースを使用して同じことができます。 私たちは、次のテストケースのアプローチを通過する例に取り組んでいきます-

  • キーワード駆動型
  • データドリブンスタイル

キーワード駆動型

キーワードドリブンスタイルの動作を示すプロジェクトのセットアップを行います。

コマンドラインから ride.py を使用して乗り心地を開きます。

キーワード駆動型スタイル

[新しいプロジェクト]をクリックして、プロジェクトに名前を付けます。

キーワード駆動スタイルEx

プロジェクトに付けられた名前は_keywordstyleです。 [OK_]をクリックしてプロジェクトを保存します。 このプロジェクトでは、次のようにユーザーキーワードを作成します。

以下に示すように、プロジェクトの名前を右クリックして、_New User Keyword_をクリックします

新しいユーザーキーワード

次のように画面が表示されます-

画面表示例

キーワードの名前とそれが取る引数を入力します。 ここでは、キーワードの名前を表示メッセージとして指定します。 キーワード表示メッセージの役割は、呼び出されたときにメッセージを記録することです。 したがって、それに引数を与える必要があります。 したがって、上記の例では、引数はスカラー変数$ \ {msg}になります。

ログメッセージ

[OK]をクリックして、ユーザーキーワードを保存します。 次に、キーワードに必要なアクションを記述する必要があります。 そのため、以下に示すような表形式になり、Robot Frameworkで利用可能なライブラリキーワードまたは組み込みキーワードを指定できます。

ここでは、以下に示すように、Robot Frameworkで使用可能な単純なLogキーワードを使用します-

ログキーワードEx

Robotフレームワークでより多くのキーワードを使用可能にするには、以下に示すように、表の列でCtrl +スペースバーを押します

テーブル列

これで、テストケースで使用するキーワードの準備ができました。 ユーザーキーワードの名前は_Display Message_で、 $ \ {msg} という1つの引数を取ります。

単純なキーワード駆動型のテストケースでこのキーワードを使用してみましょう。 そのためには、テストケースを作成する必要があります。 作成されたプロジェクトの名前を右クリックします。 今、新しいテストケースをクリックします-

キーワード駆動

単純なキーワード

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

プロジェクトのセットアップは完了し、キーワード駆動スタイルのテストケースを作成します。

テストケースでは、以下に示すように、表形式のユーザー定義キーワード表示メッセージを使用しました-

ユーザー定義キーワードEx

上記のように作成したキーワードを使用し、値Hello Worldを渡しました。

テストケースTC1を実行し、出力を確認します-

テストケースの実行Ex

上記の例では、メッセージを記録する簡単なテストケースを作成し、テストケースは出力_Hello World_で実行されます。 ログに出力されるHello Worldの出力を確認できます。 テストケースもここに渡されます。

データ駆動型スタイル

同じプロジェクトにもう1つテストケースを作成します。 テストケースの名前をTC2として指定します。

さらにテストケース

データドリブンスタイルを使用するには、テンプレートを作成する必要があります。 テンプレートは、上位レベルのキーワードの名前を取ります。これは、「表示メッセージ」と呼ばれる最初に作成したようなユーザー定義のキーワードです。 そのテンプレートへの引数は、テストケースの形式で送信されます。 そのテンプレートキーワードに異なる値を渡すことができます。 データ駆動型のアプローチは、異なるデータを使用してシナリオをテストする場合に主に使用されます。

テストケースが保存されたら。 テストケースをクリックすると、表示は次のようになります-

データ駆動型スタイル

テンプレートの[編集]ボタンをクリックし、ユーザー定義のキーワードを追加します。

編集ボタン

テンプレートのユーザーキーワードを入力し、[OK]をクリックしてテンプレートを保存します。

ユーザーキーワード

_Display Message_キーワードは、$ \ {msg}という1つの引数を取ります。 これはスカラー変数です。 このテストケースで渡された詳細は、ユーザー定義キーワードDisplay Messageの引数として機能します。

キーワード表示メッセージ

TC2では、テンプレート表示メッセージ(ユーザー定義キーワード)を追加しました。 メッセージを表形式で提供しました。

テストケースを実行してみましょう。

テンプレート表示メッセージ

Runが両方のテストケースを実行することがわかります。 TC1に表示される出力は、Hello Worldです。 これは、ユーザーキーワード表示メッセージに指定したメッセージです。

TC2では、テンプレートとして表示メッセージを使用しました。 TC2の値として_My First Test Case_および_Testing Template_を渡しました。 ユーザーキーワードのDisplay Messageは内部的にLogキーワードを使用するため、上記のようにログにメッセージを表示します。

結論

この章ではキーワードスタイルとデータドリブンスタイルを使用し、両方の動作を確認しました。 データドリブンスタイルでは、高レベルのユーザー定義キーワードをテンプレートとして使用し、すべてのテストケースがテンプレートの値として機能します。

Seleniumライブラリーを使用したブラウザーの操作

この章では、Robot FrameworkとSelenium Libraryを使用してブラウザーを操作する方法を学習します。

  • Rideでのプロジェクトのセットアップ
  • Seleniumライブラリのインポート
  • Chromeブラウザを使用したテストケース
  • Firefoxブラウザを使用したテストケース

ライドのプロジェクト設定

まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗車を開きます。

Ride In Project Setup

_New Project_をクリックして、プロジェクトに名前を付けます。

プロジェクトに名前を付けてください

指定された名前はBrowserTestCasesです。 [OK]をクリックしてプロジェクトを保存します。 作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-

ブラウザテストケース

ブラウザテストケースEx

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

名前を与える

プロジェクトのセットアップはこれで完了です。 次に、ブラウザのテストケースを作成します。

Seleniumライブラリのインポート

ブラウザで作業するには、セレンライブラリをロボットにインポートする必要があります。 私たちは次のようにそれを行うことができます-

[[1]]

Seleniumライブラリのインポート

左側で、[ライブラリ]オプションを選択します。

ライブラリオプション

上から外部オプションを選択すると、使用可能なすべてのライブラリがリストされます。

外部オプション

SeleniumLibraryをクリックします。

以下に示すように、githubリポジトリにリダイレクトされます-

github repo

seleniumlibraryのインストールでは、githubからコマンドを使用し、pipを使用してインストールできます。

コマンド

pip install --upgrade robotframework-seleniumlibrary

selenium library

Seleniumライブラリは、次のようにPythonのlibフォルダ内にインストールされます-

ライブラリがインストールされます

インストールが完了したら、以下の手順に示すように、Rideでライブラリをインポートする必要があります。

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

インポートの追加

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

ライブラリをクリック

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

表示される設定

指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。 名前が一致しない場合、ライブラリ名は以下に示すように赤になります-

サイトパッケージ

赤のライブラリのインポートは、Python内にライブラリが存在しないのと同じくらい良好です。 これで、セレンライブラリのインポートが完了しました。

Chromeブラウザを使用したテストケース

RobotでChromeブラウザーを使用するには、まずSeleniumで動作するようにchromeのドライバーをインストールする必要があります。 ドライブは、Seleniumサイト(https://www.seleniumhq.org/)で入手できます。

Chromeブラウザ

上のスクリーンショットのように[_Seleniumのダウンロード]をクリックします。

ダウンロードセクションで、サードパーティ_seleniumhq_によって開発されていないサードパーティブラウザドライバに移動し、以下の強調表示されたセクションに示すようにGoogle Chromeドライバを選択します

ダウンロードセクション

ここでは、ブラウザで使用可能なさまざまなドライバーのリストを示します。 Chromeの場合は、_Google Chrome Driver_をクリックして、オペレーティングシステムごとに最新のドライバーをダウンロードします。

Chromeドライバー

最新リリースをクリックします。 オペレーティングシステム(windows、linux、mac)ごとにダウンロードが表示されます。

オペレーティングシステム

上記のリストからオペレーティングシステムごとにバージョンをダウンロードします。 zipファイルをダウンロードします。 ファイルがダウンロードされたら、それを解凍し、.exeドライバーファイルをpythonフォルダーにコピーします。

ファイルを C:\ Python27 \ Scripts にコピーしています。

zipファイル

これで、クロム用のドライバーのインストールが完了しました。 ブラウザを開いてブラウザを閉じるテストケースの作成を開始できます。

乗車に戻って、ブラウザを開くためのキーワードを入力します。

Rideは、組み込みツールで使用されるキーワードを支援します。 コマンドを入力し、 ctrl + spacebar を押します。 以下に示すように、コマンドのすべての詳細を取得します

ctrl spacebar

コマンドの詳細と、使用方法の例も示します。 テストケースでは、クロムでサイトhttps://www.finddevguides.com/を開き、テストケースの詳細は次のようになります-

ctrl spacebar Ex

このテストケースを実行して、出力を確認します-

テストケースの実行

テストケースの実行

テストケースに合格しました。サイトがChromeブラウザで開かれていることがわかります。

次のようにテストケースを追加します-

テストケース合格

  • ブラウザを開く-URL-Chromeブラウザでhttps://www.finddevguides.com/
  • キャプチャページのスクリーンショット-画像の名前はpage.pngです
  • ブラウザを閉じる

実行された上記のテストケースのレポートとログの詳細は次のとおりです。

報告書

実行されたテストケース

Log

テストケース実行ログ

ログからのテストケースの詳細

テストケースログ

テストケースログEx

テストケースログExs

Firefoxブラウザを使用したテストケース

Firefox用のドライバーをインストールし、python scriptsフォルダーに保存します。

Firefoxのテストケース

Firefoxの場合

for Firefox Ex

結論

Robotフレームワークでブラウザを使用するために、Seleniumライブラリとブラウザドライバをインストールする方法を見てきました。 セレンライブラリキーワードを使用して、ブラウザーで特定のリンクを開き、それと対話できます。 テストケースの実行の詳細は、レポートとログの形式で利用でき、実行にかかる時間を示します。

ロボットフレームワーク-Textboxの操作

テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してテキストボックスを操作する方法を学習します。 入力フィールド-テキストボックスを使用するには、ロケーターが必要です。ロケーターは、そのテキストボックスの主要な一意の識別子であり、ID、名前、クラスなどになります。

この章では、次の領域について説明します-

  • テキストボックステストのプロジェクト設定
  • 検索テキストボックスにデータを入力
  • 検索ボタンをクリック

テキストボックステストのプロジェクト設定

まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗車を開きます。

テキストボックスのテスト

_New Project_をクリックし、以下に示すようにプロジェクトの_Name_を入力します。

Textbox Testing Ex

プロジェクトの名前は_Textbox_です。 [OK]をクリックしてプロジェクトを保存します。 作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-

プロジェクト作成例

新規プロジェクト作成例

テストケースに名前を付け、[OK]をクリックして保存します。 これでプロジェクトのセットアップは完了です。 さらに、テキストボックスのテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。

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

ライブラリ追加インポート

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

ライブラリExをクリック

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

Library Exsをクリック

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

名前が一致しない場合、ライブラリ名は次のスクリーンショットのように赤で表示されます-

screenshot Ex

テキストボックスにデータを入力

次に、テストケースを作成します。 テストケースの詳細は次のようになります-

  • ブラウザを開く-URL-Chromeでhttps://www.finddevguides.com/
  • [[2]]
  • 検索をクリック

テキストボックスを使用するには、ロケーターが必要です。 ロケーターは、id、name、classなどのテキストボックスの識別子です。 たとえば、使用している場合-

  • テキストボックスの name 属性、nameでなければなりません-Nameofthetextboxまたはname = Nameofthetextbox
  • テキストボックスの id 。id:idoftextboxまたはid = idoftextboxになります
  • テキストボックスの class 、それはclass-classfortextboxまたはclass = classfortextboxになります

次に、乗車中のテキストボックスのテストケースの詳細を追加します。 ここにテキストボックスのテストケースに入力されたキーワードがあります-

入力されたキーワード

  • ブラウザを開く-キーワードは、指定されたURLおよび指定されたブラウザのブラウザを開きます。
  • 入力テキスト-このキーワードは入力タイプで機能し、サイトhttps://www.finddevguides.com/でロケーターname:searchを検索します。angularjsは、テキストボックスに入力する値です。
  • *クリックボタン*を使用して、位置クラス:gsc-search-button-v2のボタンをクリックします。

今、私たちは同じを実行します-

ボタンをクリック

検索アイコンをクリックすると、次のスクリーンショットに示すような画面が表示されます-

検索アイコン

今、レポートとログの詳細を見てみましょう-

報告書

ログの詳細

Log

ログの詳細Ex

ログの詳細Exs

結論

ロボットフレームワークのセレンライブラリを使用してテキストボックスを操作する方法を見てきました。ロボットフレームワークで使用可能なキーワードとインポートしたライブラリを使用して、テキストボックスを見つけてデータを入力し、同じものをテストできます。

ロボットフレームワーク-ラジオボタンの操作

テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してラジオボタンを操作する方法を学習します。 ラジオボタンを使用するには、ロケーター(そのラジオボタンの一意のメイン識別子)が必要です。

私たちはここで以下を議論するつもりです-

  • ラジオボタンテストのプロジェクト設定
  • ラジオボタンのテストケース

ラジオボタンテストのプロジェクトセットアップ

まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗車を開きます。

ラジオボタンテスト

下のスクリーンショットに示すように、[新しいプロジェクト]をクリックし、プロジェクトの[名前]を入力します。

ラジオボタンテスト名

指定された名前はRadioButtonです。 [OK]ボタンをクリックして、プロジェクトを保存します。

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

ラジオボタンテスト名New

ラジオボタンテスト名ニュース

テストケースに名前を付け、[OK]をクリックして保存します。 プロジェクトのセットアップは完了し、ラジオボタンのテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。

左側のプロジェクトをクリックし、_Add__からの_Library_を使用します。

左側のライブラリ

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

ライブラリをクリックすると

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

表示されたライブラリをクリックすると

指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。 名前が一致しない場合、以下に示すように赤になります-

サイトパッケージ

ラジオボタンのテストケース

ラジオボタンテストケースは、ロケーターの助けを借りてラジオボタンを選択します。

ラジオボタンの次のHTML表示を考慮してください-

<input type="radio" name="gender" value="male" checked> Male<br/>
<input type="radio" name="gender" value="female"> Female<br/>

ラジオボタンの場合、_name_はロケーターです。 上記の例では、_nameはgender_です。 必要なラジオボタンを選択できるように、値も必要です。 上記の例の値は_MaleとFemale_です。

次に、ラジオボタンを使用してテストページを作成し、ブラウザで同じテストページを開きます。 次に、ラジオボタンの値を選択します。 テストケースの詳細は次のようになります-

 *ブラウザーを開く− URL −* http://localhost/robotframework/radiobuttonl * in chrome
* ラジオボタンの詳細を入力してください
 *テストケースを実行する

テストケースのキーワードを記述しているときに、Ctrl +スペースバーを押します。 コマンドの詳細を取得します。ラジオボタンの詳細

ラジオボタンの詳細

ラジオボタンの場合、引数はグループ名と値です。 ラジオボタン選択のテストケースの詳細を次に示します-

ラジオボタンの引数

以下は、ラジオボタンのテストページです-

ラジオボタンのテストページ

RadiobuttonlのHTMLコード

<html>
   <head>
      <title>Radio Button</title>
   </head>
   <body>
      <form name="myform" method="POST">
         <b>Select Gender?</b>
         <div><br/>
            <input type="radio" name="gender" value="male" checked> Male<br/>
            <input type="radio" name="gender" value="female"> Female<br/>
         </div>
      </form>
   </body>
</html>

上記のフォームでは、ラジオボタンである女性を選択する予定です。 名前と値はテストケースに記載されています。 次に、テストケースを実行し、上記のフォームのチェックボックスの選択を確認します。

テストケースを実行し、ブラウザで表示を確認しましょう-

テストケースを実行

テストケースが実行されると、URL* http://localhost/robotframework/radiobuttonl *が開き、テストケースで指定した名前と値を持つFemaleラジオボタンが選択されます。

ここにライドの実行の詳細があります-

Rideでの実行の詳細

詳細については、レポートとログを見てみましょう。

レポートの詳細

レポートの詳細

ログの詳細

ログ詳細ラジオ

テストケースの詳細

テストケースの詳細

結論

テストケースにラジオボタンのグループ名を指定して、ラジオボタンの値を選択する方法を見てきました。 ロボットフレームワークで使用可能なキーワードとインポートされたライブラリを使用して、ラジオボタンを見つけ、ラジオボタンの値を選択できます。 ロボットフレームワークのログとレポートを使用して、実行されたテストケースの詳細を取得します。

ロボットフレームワーク-チェックボックスの操作

テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してチェックボックスを操作する方法を学習します。 チェックボックスを使用するには、ロケーターが必要です。これは、そのチェックボックスの主な一意の識別子です。 ロケーターは、ID、名前、クラスなどです。

チェックボックステストのプロジェクトセットアップ

まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインから ride.py を使用して乗り心地を開きます。

チェックボックステスト

下のスクリーンショットに示すように、_New Project_をクリックし、プロジェクトの_Name_を入力します。

チェックボックステストのスクリーンショット

プロジェクトに指定された名前はCheckboxです。 [OK]をクリックしてプロジェクトを保存します。

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

チェックボックステストテストケース

チェックボックステストテストケースEx

テストケースに名前を付けて、[OK]をクリックします。 プロジェクトのセットアップはこれで完了です。 次に、チェックボックスのテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。

左側のプロジェクトをクリックし、_Add__からの_Library_を使用します。

チェックボックステストライブラリ

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

チェックボックステストの表示

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

表示されるチェックボックステスト

指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。 名前が一致しない場合、ライブラリ名は赤で表示されます-

サイトパッケージのチェックボックステスト

チェックボックスのテストケース

テストケースでは、チェックボックスを選択します。 チェックボックスを選択するには、識別子ロケーターが必要です。

今、チェックボックスの次のHTML表示を検討してください-

<input type="checkbox" name="option1" value="Car"> Car

チェックボックスには、ロケーターとして_name_があります。 上記の例では、_name_は_option1_です。 同じ値を選択できるように、値も必要です。 Car は上記の例の値を保持します。

次に、チェックボックス付きのテストページを作成します。 ブラウザでチェックボックスを開き、値を選択します。

テストケースの詳細は次のようになります-

  • ブラウザを開く-URL – Chromeの http://localhost/robotframework/checkboxl
  • チェックボックスの詳細を入力します。 *テストケースを実行します。

テストケースのキーワードを記述しているときに、Ctrl +スペースバーを押します。 コマンドの詳細をすべて表示します。チェックボックスの詳細。

チェックボックスに使用されるキーワードは-

Select checkbox name:nameofcheckbox value

乗車からのコマンドの詳細は次のとおりです-

チェックボックスの名前

したがって、引数はチェックボックスのロケーターです。 チェックボックス選択のテストケースの詳細は次のとおりです-

チェックボックスの選択

これはURLがどのようにあるかです-

チェックボックスURL

チェックボックス

<html>
   <head>
      <title>Checkbox Test Page>/title>
   </head>
   <body>
      <form name="myform" method="POST">
         <b>How would you like to travel?</b>
         <div><br>
            <input type="checkbox" name="option1" value="Car"> Car<br>
            <input type="checkbox" name="option2" value="Bus"> Bus<br>
            <input type="checkbox" name="option3" value="Train"> Train<br>
            <input type="checkbox" name="option4" value="Air"> Airways<br>
            <br>
         </div>
      </form>
   </body>
</html>

上記のフォームでは、チェックボックスであるCarを選択する予定です。 詳細はテストケースに記載されています。 次に、テストケースを実行し、上記のフォームのチェックボックスの選択を確認します。

チェックボックス計画

テストケースが実行されると、URL* http://localhost/robotframework/checkboxl *が開き、テストケースで指定されたCarという名前が選択されます。

ここに実行の詳細があります-

チェックボックス実行

レポートの詳細

チェックボックスレポート

チェックボックステストログ

ログの詳細

チェックボックスの詳細ログ

結論

この章では、チェックボックスのロケーターを指定してチェックボックスを選択する方法を学びました。 ログとレポートは、テストケースの実行の詳細と各テストケースに費やされた時間を提供します。

ロボットフレームワーク-ドロップダウンの操作

この章では、Selenium Libraryを使用してドロップダウンを操作する方法を学習します。

ドロップダウンテストのプロジェクトセットアップ

まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗り心地を開きます-

ドロップダウンテスト

[New Project]をクリックして、プロジェクトに名前を付けます。

新しいプロジェクトのドロップダウン

指定された名前はドロップダウンです。 [OK]をクリックしてプロジェクトを保存します。

作成されたプロジェクトの名前を右クリックし、_New Test Case_をクリックします-

新しいテストケースのドロップダウン

新しいテストケースのドロップダウンの例

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

プロジェクトのセットアップはこれで完了です。 次に、ドロップダウンのテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。

左側のプロジェクトをクリックし、以下に示すように、_Add Import_から_Library_を使用します-

インポートのドロップダウン

ここで、[_ Library_]をクリックします。 ライブラリ名を入力する必要がある画面が表示されます-

ドロップダウンライブラリ

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

ドロップダウン表示

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

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

ドロップダウンサイトパッケージ

赤のライブラリインポートは、ライブラリがpython内に存在しないのと同じくらい良好です。これで、セレンライブラリのインポートは完了です。

ドロップダウンのテストケース

ドロップダウンのテストケースは、ドロップダウンから値を選択します。 これで作業を進めるには、そのドロップダウンのロケーター(識別子)が必要です。

ドロップダウン用の次のHTML表示を考慮してください-

<select name = "carbrand">
   <option value = "">Select car brand..</option>
   <option value = "audi">AUDI</option>
   <option value = "bmw">BMW</option>
   <option value = "chevrolet">CHEVROLET</option>
   <option value = "datsun">DATSUN</option>
</select>

ドロップダウンの場合、_name_は_locator_です。 上記の例では、_name_は_carbrand_です。 同じ値を選択できるように、値も必要です。 上記の例の値は、_audi、bmw、chevrolet、およびdatsun_です。

次に、ドロップダウン付きのテストページを作成し、ブラウザで同じものを開き、ドロップダウンから値を選択します。

テストケースの詳細は次のようになります-

  • ブラウザのURLを開く-Chromeで http://localhost/robotframework/dropdownl
  • ドロップダウンの詳細を入力してください
  • テストケースを実行する

RIDEでテストケースのキーワードを作成しているときに、Ctrl +スペースバーを押します。 これにより、コマンドの詳細がすべて表示されます。

ドロップダウンのために、それを行うための3つの方法があります-

  • インデックスリストから選択
  • ラベル別リストから選択
  • 値からリストから選択

上記のすべてのケースで機能することを示す例に取り組みます。

テストページでは、3つのドロップダウンを作成し、上記のテストケースを使用して、インデックス、ラベル、値でドロップダウンを選択します。

ドロップダウン

<html>
   <head>
      <title>Dropdown</title>
   </head>
   <body>
      <form name="myform" method="POST">
         <div>
            Dropdown By Index:
            <select name = "months">
               <option value = "">Select Months.</option>
               <option value = "Jan">January</option>
               <option value = "Feb">February</option>
               <option value = "Mar">March</option>
               <option value = "Apr">April</option>
               <option value = "May">May</option>
               <option value = "Jun">June</option>
               <option value = "Jul">July</option>
               <option value = "Aug">August</option>
               <option value = "Sept">September</option>
               <option value = "Oct">October</option>
               <option value = "Nov">November</option>
               <option value = "Dec">December</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Label:
            <select name = "days">
               <option value = "">Select Day..</option>
               <option value = "01">01</option>
               <option value = "02">02</option>
               <option value = "03">03</option>
               <option value = "04">04</option>
               <option value = "05">05</option>
               <option value = "06">06</option>
               <option value = "07">07</option>
               <option value = "08">08</option>
               <option value = "09">09</option>
               <option value = "10">10</option>
               <option value = "11">11</option>
               <option value = "12">12</option>
               <option value = "13">13</option>
               <option value = "14">14</option>
               <option value = "15">15</option>
               <option value = "16">16</option>
               <option value = "17">17</option>
               <option value = "18">18</option>
               <option value = "19">19</option>
               <option value = "20">20</option>
               <option value = "21">21</option>
               <option value = "22">22</option>
               <option value = "23">23</option>
               <option value = "24">24</option>
               <option value = "25">25</option>
               <option value = "26">26</option>
               <option value = "27">27</option>
               <option value = "28">28</option>
               <option value = "29">29</option>
               <option value = "30">30</option>
               <option value = "31">31</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Value:
            <select name = "year">
               <option value = "">Select year..</option>
               <option value = "0">2000</option>
               <option value = "1">2001</option>
               <option value = "2">2002</option>
               <option value = "3">2003</option>
               <option value = "4">2004</option>
               <option value = "5">2005</option>
               <option value = "6">2006</option>
               <option value = "7">2007</option>
               <option value = "8">2008</option>
               <option value = "9">2009</option>
               <option value = "10">2010</option>
               <option value = "11">2011</option>
               <option value = "12">2012</option>
               <option value = "13">2013</option>
               <option value = "14">2014</option>
               <option value = "15">2015</option>
               <option value = "16">2016</option>
               <option value = "17">2017</option>
               <option value = "18">2018</option>
            </select>
         </div>
      </form>
   </body>
</html>

ドロップダウン例

Rideの3つのドロップダウン選択すべてにテストケースを追加します。

インデックスの場合、そのドロップダウンのロケーター、つまり名前またはID、および選択する必要がある要素のインデックスを渡す必要があります。

インデックスによるリストの選択-例

<select name = "months">
   <option value = "">Select Months.</option>//index 0
   <option value = "Jan">January</option>//index 1
   <option value = "Feb">February</option>//index 2
   <option value = "Mar">March</option>//index 3
   <option value = "Apr">April</option>//index 4
   <option value = "May">May</option>//index 5
   <option value = "Jun">June</option>//index 6
   <option value = "Jul">July</option>//index 7
   <option value = "Aug">August</option>//index 8
   <option value = "Sept">September</option>//index 9
   <option value = "Oct">October</option>//index 10
   <option value = "Nov">November</option>//index 11
   <option value = "Dec">December</option>//index 12
</select>

ここで、月を5月として選択し、テストケースで指定するインデックスが5になるようにします。

画面上のドロップダウンを開くと、ラベルが表示されます。

ドロップダウン画面

日を選択する場合は、ドロップダウンから選択できます。

値からリストから選択

ここに年のリストがあります。 リストの値は0〜18です。

<select name = "year">
   <option value = "">Select year..</option>
   <option value = "0">2000</option>
   <option value = "1">2001</option>
   <option value = "2">2002</option>
   <option value = "3">2003</option>
   <option value = "4">2004</option>
   <option value = "5">2005</option>
   <option value = "6">2006</option>
   <option value = "7">2007</option>
   <option value = "8">2008</option>
   <option value = "9">2009</option>
   <option value = "10">2010</option>
   <option value = "11">2011</option>
   <option value = "12">2012</option>
   <option value = "13">2013</option>
   <option value = "14">2014</option>
   <option value = "15">2015</option>
   <option value = "16">2016</option>
   <option value = "17">2017</option>
   <option value = "18">2018</option>
</select>

年を選択する場合は、年に対応する値を取得し、テストケースで同じ値を追加します。 たとえば、2017年を選択する場合、値は17です。

テストケースの最終リストは次のとおりです-

ドロップダウンテストケース

実行後、テストケースに基づいてドロップダウンの選択が行われます-

ドロップダウン選択

実行の詳細

ドロップダウン実行の詳細

レポートの詳細

ドロップダウンレポートの詳細

ログの詳細

ドロップダウンログの詳細

ログからのテストケースの詳細

テストケースのドロップダウンの詳細

結論

値、インデックス、ラベルによるドロップダウンの操作方法を見てきました。 ログとレポートを参照して、実行されたテストケースの詳細を取得できます。

ロボットフレームワーク-キーワードの操作

Robot Frameworkでは、テストケースはキーワードを使用してテストケーステーブルに構築されます。 この章では、Robot Frameworkで使用されるキーワードの詳細について説明します。 Robotで使用されるキーワードには2種類あります-

  • ライブラリキーワード
  • ユーザー定義のキーワード

ライブラリキーワード

ライブラリキーワードは、Robot Frameworkにインポートしたライブラリから取得したキーワードです。 ここで、ブラウザとの対話に役立つSeleniumライブラリを見ていきます。 セレンライブラリに関連する重要なキーワードのいくつかについて説明します。

以下に示す手順に従って、Seleniumライブラリをインポートします-

Seleniumライブラリのインストールに関する詳細は、*「Seleniumライブラリを使用したブラウザの操作」*の章で説明されています。 コマンドラインからride.pyを使用して乗車を開きます。

ライブラリキーワード

[新しいプロジェクト]をクリックして、プロジェクトに名前を付けます。 プロジェクトに付けられた名前は LibraryKeywords です。

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

ライブラリーの新しいテストケース

ライブラリーの新しいテストケースEx

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

プロジェクトのセットアップはこれで完了です。 次に、ライブラリキーワードの動作を示すテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。

左側のプロジェクトをクリックして、[ライブラリ]をクリックします。

ライブラリプロジェクト

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

ライブラリ名

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

表示されるライブラリ

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

作成されたプロジェクトにテストケースを作成し、いくつかの重要なキーワードを使用します。

TC1で作成したテストケースをクリックし、表形式のフォームにキーワードを入力してブラウザーを開き、開いたフォーム内にデータを入力します。

これは、ライブラリキーワードを使用した簡単なテストケースです-

ライブラリシンプル

このキーワードの詳細を取得するには、キーワードを入力しながらctrl +スペースバーを押します。 入力されたライブラリキーワードの詳細が表示されます。

以下は、ブラウザを開くための例です。そのキーワードにヘルプが必要な場合は、キーワードの入力中にctrl +スペースバーを使用できます。

ブラウザのキーワードの詳細を開く

ブラウザのキーワードの詳細を開く

同様に、入力、ラジオ、テキストなどで動作するライブラリキーワードがあります

ライブラリキーワードリスト

ライブラリキーワードリスト入力

入力したテストケースを実行して、URL-https://www.finddevguides.com/でブラウザーを開き、入力テキストに詳細を入力します。

ライブラリキーワードリスト入力テキスト

テストケースを実行しました。 テキストボックスに、テストケースで指定したすべての詳細が含まれていることがわかります。

ユーザー定義のキーワード

ユーザー定義のキーワードを作成して、テストケースで特定のアクションを実行したり、ロボットフレームワークのライブラリキーワードと組み込みキーワードを使用して作成したりできます。 例に取り組み、テストケースのキーワードを作成する方法を確認します。

上記で作成したものと同じプロジェクトを使用し、その中にユーザー定義のキーワードを作成して、テストケースで使用します。

Rideでキーワードを作成するには、プロジェクトを右クリックし、以下に示すように[新しいユーザーキーワード]をクリックします-

ユーザー定義キーワード

[新しいユーザーキーワード]をクリックすると、次のような画面が表示されます-

新しいユーザーキーワード画面

キーワードの名前を入力し、[OK]をクリックします。 画面には引数も表示されます。 次のセクションでは、キーワードとキーワードの関係について説明します。

後続の新しいユーザーキーワード

キーワードにBrowserDetailsという名前を付けました。 [OK]をクリックして保存します。 キーワードBrowserDetailsが作成されます。

新しいユーザーキーワードの詳細

ブラウザでURLをテストするには、開いているブラウザ、*ブラウザを最大化*キーワードを繰り返し入力する必要があります。

次に、_open browser_および_maximize browser details_を持つユーザー定義のキーワードを作成します。 作成されたキーワードは、テストケースで使用されます。

新しいユーザーキーワードのテストケース。

BrowserDetailsキーワードは、繰り返し使用される他のキーワードの組み合わせです。

次に、以下に示すように、テストケースで作成されたキーワードを使用します。

テストケース

新しいユーザーのテストケース。

上記のテストケースを考慮して、ユーザー定義のキーワード_BrowserDetails_を使用します。

1つと2つのキーワードをユーザー定義のキーワードに置き換えます-

新しいユーザーテストケースの例

テストケースを実行して出力を確認しましょう-

ライブラリキーワードリスト入力テキスト

テストケースの実行は完璧に機能します。

次に、キーワードの引数のユースケースを確認します。

ここに私たちが作成したキーワードがあります-

作成されたライブラリキーワード

キーワードの名前は_BrowserDetails_です。 このキーワードは、プロジェクトで作成された他のテストケースで使用できます。 キーワードには、ハードコーディングされたブラウザーのURLが含まれます。 別のURLを持つ別のテストケースでキーワードを使用する場合、それは不可能です。

引数を使用して、ハードコーディングされたパラメーターを支援できます。 作成されたキーワードに戻り、引数を使用します。

ライブラリキーワード作成引数

引数に対して編集をクリックします。

に対してライブラリのキーワード

キーワードとともに使用する引数を入力します。

ライブラリキーワード引数

複数の引数がある場合は、パイプ(|)を使用してそれらを分離できます。 次のように指定されたキーワードで引数を使用します-

指定されたライブラリキーワード

テストケースに戻ります。 ここで、テストケースに使用するURLである値を渡す必要があります。

テストケースでは、ユーザー定義のキーワードを入力してCtrl +スペースバーを押すと、引数とともにキーワードの詳細が表示されます。

以下は、キーワードBrowserDetailsの詳細です-

ライブラリキーワードブラウザ

テストケースには、引数として渡されるURLが含まれるようになります。

渡されたライブラリキーワード

テストケースを実行して出力を確認しましょう-

ライブラリキーワードリスト入力テキスト

ユーザー定義のキーワードに渡されるキーワードと引数は正常に機能しています。

ここでURLを変更しましょう。 [[3]]

ライブラリキーワードのURLの変更

キーワードBrowserDetailsのURLはhttps://www.google.com/に変更されます

入力テキストの引数をGoogleサイトから入手できるIDに変更しました。 入力フィールドのID、名前、またはクラスを取得するには、ブラウザで検査およびチェックインできます。

上記のテストケースを実行して、出力を確認します。

正常に実行されると、上記のテストケースは次の出力を生成します-

ライブラリキーワードgoogle

結論

この章では、組み込みキーワードのヘルプを取得する方法を説明しました。 また、ライブラリキーワードと組み込みキーワードの組み合わせであるユーザー定義キーワードの作成方法も確認しました。

ロボットフレームワーク-変数の操作

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

Robot Frameworkで使用可能な次の変数について説明します

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

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

スカラー変数

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

${variablename}

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

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

スカラー変数

[新しいプロジェクト]をクリックします。

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

スカラー変数プロジェクト

指定された名前は_variables_です。 [OK]をクリックしてプロジェクトを保存します。

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

スカラー変数の新しいテストケース

スカラー変数の新しいテストケースEx

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

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

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

スカラー変数インポートの追加

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

スカラー変数ライブラリ

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

表示されるスカラー変数

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

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

表示されるスカラー変数

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

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

表示されるスカラー変数

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

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

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

[名前]フィールドに$ \ {}を取得します。

スカラー変数フィールド

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

スカラー変数画面

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

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

スカラー変数コメント

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

作成されたスカラー変数

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

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

ハードコードされたスカラー変数

上記のテストケースでは、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種類の変数がサポートされています。 これらすべての変数の動作について詳しく説明しました。

コマンドラインでの作業

この章では、コマンドラインを使用してテストケースを実行する方法を学習します。

まず、コマンドプロンプトを開き、テストケースが保存されているフォルダーに移動します。 テストドライブを作成し、Cドライブの robotframework フォルダーに保存しました。

コマンドプロンプトを開く

これまでに作成されたテストケースは、フォルダー C:\ robotframework で利用できます。

あなたがファイルとしてプロジェクトを保存している場合、コマンドは-

robot -T nameoftestcase.robot

あなたがディレクトリとしてプロジェクトを保存している場合、コマンドは-

robot -T projectname testsuite

以下に示すように、フォルダから作成されたテストのいずれかを実行します-

テスト作成

出力、ログ、およびレポートのパスは、上記のように最後に表示されます。

次のスクリーンショットは、実行の詳細を示しています-

スクリーンショット実行

報告書

レポート実行

Log

ログ実行

結論

コマンドラインを使用して、ロボットのテストケースを実行できます。 テストケースの合格または不合格の詳細は、ログおよびレポートURLとともにコマンドラインに表示されます。

セットアップとティアダウンの操作

この章では、テストワールドの2つの重要な概念-セットアップとティアダウンを理解します。<

セットアップ

これは、テストスイートまたはテストケースの実行の開始前に実行されるキーワードまたは命令のセットです。

取り壊す

これは、テストスイートまたはテストケースの実行の開始後に実行されるキーワードまたは命令のセットです。

プロジェクトのセットアップに取り組みます。セットアップとティアダウンの両方を使用します。 ブラウザの開閉は、テストケースの一般的な手順です。

ここで、セットアップでキーワード open browser を追加し、分解でブラウザーを閉じます。

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

分解

_New Project_をクリックして、プロジェクトを作成します。

ティアダウンの作成

[OK]をクリックしてプロジェクトを保存します。

分解を保存

[新しいテストケース]をクリックして作成します。

テストケース分解

[OK]をクリックして、テストケースを保存します。

ここで、ブラウザに関連するキーワードを使用してページと対話するために、SeleniumLibraryをインポートする必要があります。

ライブラリをインポートするには、[ライブラリ]をクリックします-

ライブラリのティアダウンのインポート

ライブラリのティアダウンをクリック

[OK]をクリックしてライブラリを保存します。

ライブラリの分解を保存

上記のスクリーンショットでは、[設定]セクションに_SetupおよびTeardown_オプションがあります。 [設定]で、[編集]をクリックしてキーワードを入力します。

次に、キーワードを入力します-

セットアップライブラリの分解

引数はパイプ文字(|)で区切る必要があります。

パイプ文字

[OK]をクリックして、セットアップを保存します。 キーワード*ブラウザを開く*を入力し、上記の引数も追加しました。

次に、分解ケースに入ります。

[ティアダウンの編集]をクリックして、キーワードを入力します。

分解の編集

[OK]をクリックして、分解を保存します。

次に、テストケースのキーワードを入力します。

Keywords Teardown

テストケースには入力テキストのみがあります。 ブラウザの開閉は、セットアップとティアダウン設定から行います。

テスト実行の詳細

実行ティアダウン

結論

テストの世界では、セットアップと分解が重要な役割を果たします。 テストケースでセットアップと分解を使用する方法と、それらの実行方法を確認しました。

組み込みライブラリの使用

この章では、Robot Frameworkに付属する重要な組み込みキーワードのいくつかを取り上げます。 これらのキーワードと外部ライブラリを使用して、テストケースを作成できます。 また、デフォルトでRobotフレームワークで使用可能な組み込みライブラリも用意されています。 これは、主に検証(たとえば、「等しい」、「含む」)、変換(整数への変換、コンソールへのログなど)に使用されます。

簡単なテストケースに取り組み、その中で組み込みライブラリを使用します。

以下に示すように、ライドとテストケースでプロジェクトを作成しました-

組み込みキーワード

2つのスカラー変数を作成しました。以下に示す番号と名前-

スカラーキーワード

数値、文字列、連結などの比較に使用されるテストケースを以下に示します。 以下のテストケースでは、単純なキーワードを使用しました。 キーワードはここに表形式で表示されます-

比較する数値

以下は、テキスト編集から上記のテストケースのテストコードです-

テストケース編集

今、私たちは結果を見るためにテストケースを実行します-

テストケースの結果

キーワードを表形式で記述する場合は、Ctrl +スペースバーを押します。 Robot Frameworkで使用可能な組み込みキーワードのリストを提供します。

表形式

各キーワードの詳細と、対応するウィンドウの例が表示されます。 対応するウィンドウをクリックすると、以下に示すように個別に開きます-

対応するウィンドウ

結論

文字列、数字、ログメッセージに関連するキーワードを見てきましたが、これらはデフォルトでロボットフレームワークで使用できます。 同じものを外部ライブラリと一緒に使用したり、テストケースで動作するユーザー定義のキーワードを作成したりすることもできます。

外部データベースライブラリの使用

Selenium Libraryをどのように使用できるかを見てきました。 Selenium Libraryの詳細なインストール/インポートについては、_「Selenium Libraryを使用したブラウザの操作」の章で説明しています。

この章では、データベースライブラリと、Robot Frameworkを使用してデータベースを接続およびテストする方法について説明します。

ロボットフレームワークサイトhttps://robotframework.org/にアクセスし、以下に示すように[ライブラリ]をクリックします-

ロボットフレームワークを使用したデータベース

ライブラリをクリックすると、以下に示すように画面にリダイレクトされます-

リダイレクトされた画面

ライブラリは、標準、外部、およびその他に分類されます。

この章の外部ライブラリを見てみましょう。 外部をクリックすると、次の画面が表示されます-

分類されたライブラリ

Robot Frameworkでサポートされている外部ライブラリのリストが表示されます。 ここでは、データベースライブラリ(Python)に注目します。 上のスクリーンショットでも同じことが強調されています。

データベースライブラリ(Python)をクリックすると、次のスクリーンショットに示すように、インストールの指示がリストされている画面にリダイレクトされます-

データベースライブラリ

私たちはpipを使用してデータベースライブラリをインストールすることができ、コマンドは-

pip install -U robotframework-databaselibrary

以下に示すように、コマンドラインで上記のコマンドを実行します-

コマンドラインライブラリ

ライブラリは、以下に示すようにpython libフォルダーに保存されます-

Pythonライブラリ

インストールが完了したら、次のステップはプロジェクト内にライブラリをインポートし、テストケースで使用することです。

データベースライブラリのインポート

コマンドラインから ride.py を使用してライドを開き、データベースをテストするためのプロジェクトを作成します。

テストデータベース

[新しいプロジェクト]をクリックし、プロジェクトに名前を付けます。

名前データベース

[OK]をクリックしてプロジェクトを保存します。

[インポートの追加]の下の[ライブラリ]をクリックします。

インポートデータベースの追加

データベースのインポート

以下に示すように、ライブラリの名前をDatabaseLibraryとして入力し、[OK]をクリックします。

データベースライブラリ名

保存すると、ライブラリは次のようになります-

保存されたライブラリ名

MySQLデータベースを使用します。 MySQLを使用するには、モジュールをインストールする必要があります。

コマンド

pip install pymysql

pymysqlのインストール

次に、作成したプロジェクトの下にテストケースを作成します。

pymysqlのインストール

[新しいテストケース]をクリックします-

テストケースpymysql

テストケースの名前を入力し、[OK]をクリックします。

顧客と呼ばれる既存のデータベースを使用します。

私たちはphymyadminを使用して顧客データベースを表示します-

phymyadmin

customerというテーブルがあり、6行にデータが分散されています。 次に、MySQLデータベースの顧客に接続し、顧客テーブルからデータを取得するテストケースを作成します。

開始する前に、データを保存するために、dbname、dbuser、dbpasswd、dbhost、dbport、queryresultのデータを保持するスカラー変数を作成します。 値で作成された変数は次のとおりです-

queryresult

データベースに接続するコマンドは-

Connect To Database pymysql ${dbname} ${dbuser}
${dbpasswd} ${dbhost} ${dbport}

データベースに接続

以下に示すように、さらにいくつかのテストケースを追加します-

その他のテストケース

詳細はこちらです-

** *Settings* **
Library DatabaseLibrary

** *Variables* **
${dbname} customers
${dbuser} root
${dbpasswd} admin
${dbhost} localhost
${dbport} 3306
@{queryResults}

** *Test Cases* **
TC1

   Connect To Database pymysql ${dbname} ${dbuser}
   ${dbpasswd} ${dbhost} ${dbport}
   Table Must Exist customer
   Check If Exists In Database SELECT *FROM customer
   @{queryResults} Query SELECT* FROM customer
   Log @{queryResults}[0]

データベースに接続し、テーブルcustomerがデータベースに存在するかどうかを確認し、クエリを実行してクエリの詳細を記録しました。

テストケースを実行し、出力を確認します

出力を見る

queryResultsのテーブルからの結果が表示されます。

ログの詳細

クエリ結果

TC1の詳細

TC1の詳細

結論

データベースライブラリのインポート方法とインストールについて見てきました。 Robot FrameworkでMySQLデータベースに接続し、テーブルをテストする方法がわかりました。

Robot Frameworkを使用したログインページのテスト

Robot Frameworkを使用して、これまでに次のことを学びました-

  • ライブラリのインポート
  • 変数を操作する
  • カスタムキーワードを作成する
  • テストケースの書き方
  • セットアップと分解の作成方法
  • テストケースを実行する方法
  • データ駆動型テストケースの使用方法

上記のすべての機能を使用して、この章のログインページのテストに使用します。 電子メールIDとパスワードを入力するログインページがあります。 正しいメールIDとパスワードを入力すると、ようこそページにリダイレクトされます。 ユーザーが無効なメールIDまたはパスワードを入力すると、ページはエラーページにリダイレクトされます。

次のスクリーンショットは、ログインページを示しています-

ログインページ

HTMLコード

<html>
   <head>
      <title>Login Page</title>
   </head>
   <body>
      <script type="text/javascript">
         function wsSubmit() {
            if (document.getElementById("email").value == "[email protected]" && document.getElementById("passwd").value == "admin") {
               location.href = "http://localhost/robotframework/successl";
            } else {
               location.href = "http://localhost/robotframework/loginfailedl";
            }
         }
      </script>
      <div id="formdet">
         Email : <input type="text" id="email" value="" id="email"/><br/><br/>
         Password : <input type="password" id="passwd" value=""/><br/><br/>
         <input type="submit" id="btnsubmit" value="Submit" onClick="wsSubmit();"/>
      </div>
   </body>
</html>

電子メールIDまたはパスワードが無効な場合、次の画面が表示されます-

ログインパスワードページ

HTMLコード

<html>
   <head>
      <title>Login Failed</title>
   </head>
   <body>
      <div id="loginfailed">
         <h1>Login Failed</h1>
      </div>
   </body>
</html>

電子メールIDとパスワードの両方が有効な場合、次の画面が表示されます-

メールパスワードページ

HTMLコード

<html>
   <head>
      <title>Login Successful</title>
   </head>
   <body>
      <div id="loginfailed">
         <h1>Login Successful</h1>
      </div>
   </body>
</html>

次に、上記のテストページのテストケースを作成します。 まず、コマンドを実行してRideを開きます。

コマンド

ride.py

完了したら、以下に示すようにプロジェクトのセットアップを開始します-

プロジェクト設定

[新しいプロジェクト]をクリックして、プロジェクトの名前を入力します。

プロジェクト名の設定

プロジェクトのタイプをディレクトリとして保存します。 プロジェクトに付けられた名前はtestloginです。

[OK]をクリックしてプロジェクトを保存します。

次に、プロジェクト内にテストスイートを作成します。

テストスイート

[新しいスイート]をクリックすると、次のような画面が表示されます-

ディスプレイスイート

[OK]をクリックして、テストスイートを保存します。 ブラウザで作業するため、Selenium Libraryをインポートする必要があります。

メインプロジェクトおよび作成されたテストスイートにライブラリをインポートします。

作成されたスイート

上記のスクリーンショットのように[ライブラリ]をクリックします。 [ライブラリ]をクリックすると、次の画面が表示されます。

スクリーンスイート

[OK]をクリックして、プロジェクトのライブラリを保存します。

ライブラリがプロジェクト用に保存されると、設定にライブラリが表示されます-

設定スイート

作成されたテストスイートに対して同じ手順を繰り返します。

ここにテストスイートに追加されたライブラリがあります-

ライブラリスイート

次に、メインプロジェクトで、セットアップと分解を作成します。 Chromeブラウザでログインページを開き、ウィンドウを最大化します。 分解では、ブラウザを閉じます。

セットアップのために、 Open Login Page というユーザー定義のキーワードを作成します。 このキーワードは、ログインページURLとブラウザ名の2つの引数を取ります。

ここで、値を保存するのに役立つ2つのスカラー変数(urlとブラウザー名)が必要です。

ライドでは、次のように2つの変数 $ \ {loginpage} および $ \ {browser} を作成します-

*$ \ {loginpage}*

loginpage

*$ \ {browser}*

browser

両方の変数を保存します。

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

表示される変数

次に、メインプロジェクトのセットアップと分解を追加します。

左側のプロジェクトをクリックします。 設定で、[スイートのセットアップ]をクリックします。

スイートのセットアップ

スイートセットアップ設定

引数 $ \ {loginpage} および $ \ {browser} でユーザーキーワード Open Login Page を使用するセットアップを作成しました。

[OK]をクリックして、セットアップを保存します。

ここで、次のように行われるユーザー定義キーワード Open Login Page を作成する必要があります-

プロジェクトを右クリックし、[新しいユーザーキーワード]をクリックします-

新しいユーザーキーワードプロジェクト

  • 新しいユーザーキーワード*をクリックすると、次の画面が表示されます-

新しいユーザーキーワードが表示されます

ここで、キーワードには2つの引数が与えられます- $ \ {loginpage} および $ \ {browser} 。 [OK]をクリックして、ユーザーキーワードを保存します。

新しいユーザーキーワード引数

ここで、URLを開くライブラリキーワードを入力する必要があります。

新しいユーザーキーワードライブラリ

  • ログインページを開く*ユーザー定義キーワードには次の詳細があります-
** *Keywords* **
Open Login Page
   [Arguments] ${loginpage} ${browser}
   Open Browser ${loginpage} ${browser}
   Maximize Browser Window
   Title Should Be Login Page

次に、スイートの Suite Teardown を作成します。

スイートティアダウン

Suite Teardownの編集をクリックし、詳細を入力します-

スイート分解詳細

Suiteの分解では、ライブラリキーワードを直接使用しています。これにより、ブラウザーが閉じられます。 [OK]をクリックして、スイートの分解を保存します。

次に、作成したTestlogin Suiteをクリックします。

スイートティアダウンログイン

ここで、テストスイートのセットアップを作成しましょう–テストセットアップ。 このセットアップは最初に実行する必要があります。

[テストセットアップの編集]をクリックして、詳細を入力します。

Suite Teardown Setup

テストセットアップ用に、 Login Page Display というユーザー定義のキーワードを作成しました。これは、上記のスクリーンショットのように引数を $ \ {loginpage} として受け取ります。

[OK]をクリックして、テストセットアップを保存します。

Suite Teardown save

次に、ユーザーキーワード Login Page Display を作成する必要があります。

テストスイートを右クリックし、以下に示すように[新しいユーザーキーワード]をクリックします-

スイートティアダウンクリック

新しいユーザーキーワードは、次のように画面を表示します-

スイートティアダウン表示

[OK]をクリックして、キーワードを保存します。

ユーザーキーワード Login Page Display に必要なキーワードを入力しましょう。

ログインページの表示

ここで、 loginpage に移動して、ページのタイトルが指定された値と一致するかどうかを確認します。

次に、テストスイートにテンプレートを追加し、データ駆動型テストケースを作成します。

テンプレートを作成するには、スイートをクリックし、右側で[テストテンプレートの編集]をクリックします。

データ駆動型テストケース

次の画面に移動します-

データ駆動型

テストログインは、再びユーザー定義のキーワードです。 [OK]をクリックして、テンプレートを保存します。

Test Loginキーワードを作成する前に、いくつかのスカラー変数が必要です。 スカラー変数には、email-id、パスワード、成功ページ、失敗ページなどの詳細が含まれます。

次のようにテストスイートのスカラー変数を作成します-

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

上記のスクリーンショットに示すように、電子メール、パスワード、成功ページ、および失敗ページのスカラー変数を作成しました。

ここで、*テストログイン*ユーザー定義キーワードを作成します。 テストスイートを右クリックし、[新しいユーザーキーワード]をクリックします。

テストログインの作成

[OK]をクリックして、キーワードを保存します。

次のスクリーンショットは、Test Loginに入力されたキーワードを示しています-

スクリーンショットテストログイン

  • 電子メールの入力、パスワードの入力、詳細の送信*および*ログインが失敗する*は、次のように定義されるユーザー定義のキーワードです-

ログインが失敗する

メールアドレスを入力して

メールアドレスを入力

パスワードを入力する

パスワードを入力

詳細を送信

詳細を送信

ログインに失敗する

ログインは失敗します

次に、作成したテンプレートに異なる電子メールIDとパスワードの詳細を使用するテストケースを作成します。

以下は、テストケースのリストです-

パスワードの詳細

無効なメールIDテストケース

無効なメール

電子メールは値[email protected]で渡され、$ \ {password}は変数に保存されているパスワードです。

無効なパスワード

無効なパスワード

無効なメールIDとパスワード

無効なパスワード

空のメールID

空のメールID

空のパスワード

空のメールID

空のメールとパスワード

空のメールID

これで、テストケースが完了し、同じテストを実行できます。

[実行]タブに移動し、[開始]をクリックしてテストケースを実行します。

実行タブ実行

テストケースのログメッセージは次のとおりです-

20181027 18:11:40.353 : INFO : Opening browser 'chrome' to base url '
http://localhost/robotframework/loginl'.
20181027 18:11:45.960 : INFO : Page title is 'Login Page'.
Starting test: Testlogin.Testlogin Suite.Invalid EmailId
20181027 18:11:45.991 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:46.169 : INFO : Page title is 'Login Page'.
20181027 18:11:46.180 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:46.706 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:47.075 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:47.565 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:47.584 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId

Starting test: Testlogin.Testlogin Suite.Invalid Password
20181027 18:11:47.600 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:47.767 : INFO : Page title is 'Login Page'.
20181027 18:11:47.783 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:48.342 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:48.701 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:49.035 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:49.051 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid Password

Starting test: Testlogin.Testlogin Suite.Invalid EmailId And Password
20181027 18:11:49.054 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:49.213 : INFO : Page title is 'Login Page'.
20181027 18:11:49.221 : INFO : Typing text 'invalid' into text field 'email'.
20181027 18:11:49.555 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:49.883 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.162 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:50.176 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId And Password

Starting test: Testlogin.Testlogin Suite.Empty Emailid
20181027 18:11:50.188 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:50.302 : INFO : Page title is 'Login Page'.
20181027 18:11:50.306 : INFO : Typing text '' into text field 'email'.
20181027 18:11:50.486 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:50.693 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.935 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:50.958 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Emailid

Starting test: Testlogin.Testlogin Suite.Empty Password
20181027 18:11:50.958 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:51.063 : INFO : Page title is 'Login Page'.
20181027 18:11:51.071 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:51.367 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:51.561 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:51.796 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:51.808 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Password

Starting test: Testlogin.Testlogin Suite.Empty Email And Password
20181027 18:11:51.811 : INFO : Opening url 'http://localhost/robotframework/loginl'
20181027 18:11:51.908 : INFO : Page title is 'Login Page'.
20181027 18:11:51.916 : INFO : Typing text '' into text field 'email'.
20181027 18:11:52.049 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:52.193 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:52.419 : INFO : Current location is 'http://localhost/robotframework/loginfailedl'.
20181027 18:11:52.432 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Email And Password

結論

ここでは、さまざまな入力でログインページをテストする方法を見てきました。これにより、ログインが正常に機能しているかどうかが検証されます。 実行が行われる方法の詳細は、ログセクションに記載されています。