Robot-framework-quick-guide
ロボットフレームワーク-概要
- ロボットフレームワーク*は、受け入れテストおよび受け入れテスト駆動開発のためのオープンソースのテスト自動化フレームワークです。 テストケースを作成するためのキーワード駆動型、動作駆動型、データ駆動型のさまざまなテストケーススタイルに従います。 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が既に存在するかどうかを確認することをお勧めします-
Windowsインストール
python --version
出力として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はpythonのScriptsフォルダーにインストールされます-
環境変数に戻り、変数リストにpipのパスを追加します。 次のように環境変数にC:\ Python27 \ SCriptsを追加します-
コマンドラインを開き、インストールされている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用にダウンロードします。
32ビットwxPythonをダウンロードしてインストールします。
インストールが完了すると、コマンドラインが開き、以下に示すようにいくつかのコマンドが自動実行されます-
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
インストールが完了したら、コマンドプロンプトを開き、次のコマンドを入力してRide-IDEを開きます。
コマンド
ride.py
上記のコマンドは、次のようにIDEを開きます-
これで、ロボットフレームワークのインストールが完了し、ロボットフレームワークの使用を開始できます。
結論
これで、Python、pip、ロボットフレームワークをインストールする方法と、RIDEをインストールして、ロボットフレームワークのテストケースを操作する方法がわかりました。
ロボットフレームワーク-ライドの概要
RideはRobot Frameworkのテストエディターです。 さらに、Rideでテストケースを作成します。 Rideを開始するには、次のコマンドを実行する必要があります。
コマンド
ride.py
上記のコマンドは、次のスクリーンショットに示すようにIDEを開きます-
この章では、IDEで利用可能なオプションと機能を確認するためにエディターをウォークスルーします。 オプションと機能は、プロジェクトのテストに役立ちます。
新しいプロジェクトを作成
[ファイル]に移動し、以下に示すように[新しいプロジェクト]をクリックします-
[新しいプロジェクト]をクリックすると、次の画面が表示されます。
プロジェクトの名前を入力します。 作成済みパスは、プロジェクトが保存されるパスです。 必要に応じて場所を変更できます。 プロジェクトは、ファイルまたはディレクトリとして保存できます。 プロジェクトをROBOT、TXT、TSV、HTMLなどの形式で保存することもできます。 このチュートリアルでは、ROBOT形式を使用し、テストケースを作成および実行する方法を使用します。
次に、プロジェクトをファイルとして以下のように追加します。 プロジェクトにはTestingという名前が付けられ、プロジェクトの作成後に次の画面が表示されます。
プロジェクトの名前が左側に表示され、右側に3つのタブEdit、TextEdit、およびRunが表示されます。
上記のように、編集のUIには多くのオプションがあります。 このセクションでは、テストケースの実行に必要なデータを追加できます。 ライブラリ、リソース、変数、スカラーの追加、リストの追加、辞書の追加、メタデータの追加をインポートできます。
[編集]セクションに追加された詳細は、次のタブである[テキスト編集]に表示されます。 ここでコードをテキスト編集セクションに記述できます。
Texteditに変更が追加された場合、[編集]セクションに表示されます。 したがって、[編集]タブと[テキスト編集]タブは相互に依存しており、行われた変更は両方に表示されます。
テストケースの準備ができたら、3番目の[実行]タブを使用してテストケースを実行できます。
Run UIは上記のとおりです。 テストケースを実行でき、開始、停止、一時停止、次のテストケース、ステップオーバーなどのオプションが用意されています。 実行中のテストケースのレポート、ログを作成することもできます。
テストケースを作成するには、次を行う必要があります-
作成されたプロジェクトを右クリックし、以下に示すように新しいテストケースをクリックします-
[新しいテストケース]をクリックすると、次のような画面が表示されます-
テストケースの名前を入力し、[OK]をクリックします。 テストケースをTC0として保存しました。 テストケースが保存されると、次の画面が表示されます。
テストケースには、ドキュメント、セットアップ、分解、タグ、タイムアウト、テンプレートなどのオプションがあります。 それらには編集ボタンがあります。ボタンをクリックすると画面が表示され、各オプションの詳細を入力できます。 これらの詳細のさまざまなパラメーターについては、以降の章で説明します。
以下に示すように、テストケースは表形式で記述できます。 ロボットフレームワークのテストケースはキーワードベースであり、組み込みのキーワードまたはライブラリからインポートされたキーワードを使用してテストケースを作成できます。 ユーザー定義のキーワード、変数なども作成できます。 ロボットフレームワーク。
以下に示すように、テストバーを実行/停止するためのナビゲーションバーで利用可能なショートカットがあります-
以下のスクリーンショットに示すように、検索キーワードオプションを使用できます-
ロボットフレームワークで使用可能なキーワードのリストを取得するには、以下に示すように、表形式でctrl + spaceキーを押すと、使用可能なすべてのキーワードが表示されます-
キーワードを思い出せない場合は、詳細を確認するのに役立ちます。 各キーワードで詳細を確認できます。 詳細には、関連キーワードの使用方法も示されています。 次の章では、乗車時に最初のテストケースを作成する方法を学びます。
結論
この章では、RIDEで利用可能な機能について説明しました。 また、テストケースを作成して実行する方法も学びました。
ロボットフレームワーク-ライドを使用した最初のテストケース
RIDEを調査し、最初のテストケースに取り組みます。
コマンドプロンプトからライドを開くか、デスクトップにライドのショートカットを作成できます。
コマンドラインから
ride.py
デスクトップから
rideがインストールされているパスに移動します。 Windowsの場合、 C:\ Python27 \ Scripts です。
ride.pyを右クリックし、[送信先→デスクトップ*(ショートカットを作成)]をクリックします。
デスクトップに乗車のアイコンが表示されます。 クリックしてライドエディターを開くことができます。
ライドの最初のテストケースから始めましょう。 エディターを開き、[ファイル]→ [新しいプロジェクト]をクリックします。
[New Project]をクリックして、プロジェクトの名前を入力します。
親ディレクトリは、プロジェクトが保存されるパスです。 必要に応じてパスを変更できます。 robotframeworkというフォルダーを作成し、そのフォルダーにすべてのファイルを保存します。
プロジェクト_FirstTestCase_が作成されます。
テストケースを作成するには、プロジェクトを右クリックします。
[新しいテストケース]をクリックします。
テストケースの名前を入力し、[OK]をクリックします。
作成されたテストケースには、_Edit、Text Edit、およびRun_の3つのタブが表示されます。
[編集]タブには、設定と表形式の2つの形式があります。 2つの形式については、以降のセクションで説明します。
設定形式
[設定]には、ドキュメント、セットアップ、分解、タグ、タイムアウト、テンプレートがあります。
ドキュメンテーション
テストケースに関する詳細を追加して、後で参照しやすくすることができます。
[OK]をクリックしてドキュメントを保存します。
セットアップと分解
テストケースに割り当てられたセットアップがある場合、テストケースの実行前にセットアップが実行され、テストケースの終了後に実行されるテストセットアップがティアダウンのために実行されます。 これについては、以降の章で詳しく説明します。 最初のテストケースには必要ありません。空のままにしておくことができます。
Tags
これは、テストケースのタグ付けに使用されます–特定のテストケースを含める、除外する。 また、テストケースのいずれかが重要かどうかを指定することもできます。
タイムアウト
これは、テストケースのタイムアウトを設定するために使用されます。 今のところ空のままにします。
テンプレート
これには、テストケースに使用されるキーワードが含まれます。 主にデータ駆動型テストケースに使用されます。 高レベルのユーザー定義キーワードがテンプレートで指定され、テストケースを使用してデータをキーワードに渡します。
表形式で、最初のテストケースを記述し、同じテストを実行して出力を確認します。
このテストケースでは、いくつかのログを追加して、その出力を確認します。 これを理解するために、次のスクリーンショットを考慮してください-
キーワード_Log_を使用して、上記のようにメッセージを記録しました。
編集で指定されたキーワードに基づいて、次のようにテキスト編集でコードを取得できます-
テキストエディットでテストケースを作成することもできます。これは、表形式で反映されます。 次に、テストケースを実行して出力を確認します。
テストケースを実行するには、以下に示すようにスタートをクリックする必要があります-
スタートをクリックして、ここにテストケースの出力があります-
テストケースは正常に実行され、詳細は上記のとおりです。 _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 を使用して乗り心地を開きます。
[新しいプロジェクト]をクリックして、プロジェクトに名前を付けます。
プロジェクトに付けられた名前は_keywordstyleです。 [OK_]をクリックしてプロジェクトを保存します。 このプロジェクトでは、次のようにユーザーキーワードを作成します。
以下に示すように、プロジェクトの名前を右クリックして、_New User Keyword_をクリックします
次のように画面が表示されます-
キーワードの名前とそれが取る引数を入力します。 ここでは、キーワードの名前を表示メッセージとして指定します。 キーワード表示メッセージの役割は、呼び出されたときにメッセージを記録することです。 したがって、それに引数を与える必要があります。 したがって、上記の例では、引数はスカラー変数$ \ {msg}になります。
[OK]をクリックして、ユーザーキーワードを保存します。 次に、キーワードに必要なアクションを記述する必要があります。 そのため、以下に示すような表形式になり、Robot Frameworkで利用可能なライブラリキーワードまたは組み込みキーワードを指定できます。
ここでは、以下に示すように、Robot Frameworkで使用可能な単純なLogキーワードを使用します-
Robotフレームワークでより多くのキーワードを使用可能にするには、以下に示すように、表の列でCtrl +スペースバーを押します
これで、テストケースで使用するキーワードの準備ができました。 ユーザーキーワードの名前は_Display Message_で、 $ \ {msg} という1つの引数を取ります。
単純なキーワード駆動型のテストケースでこのキーワードを使用してみましょう。 そのためには、テストケースを作成する必要があります。 作成されたプロジェクトの名前を右クリックします。 今、新しいテストケースをクリックします-
テストケースに名前を付けて、[OK]をクリックします。
プロジェクトのセットアップは完了し、キーワード駆動スタイルのテストケースを作成します。
テストケースでは、以下に示すように、表形式のユーザー定義キーワード表示メッセージを使用しました-
上記のように作成したキーワードを使用し、値Hello Worldを渡しました。
テストケースTC1を実行し、出力を確認します-
上記の例では、メッセージを記録する簡単なテストケースを作成し、テストケースは出力_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を使用して乗車を開きます。
_New Project_をクリックして、プロジェクトに名前を付けます。
指定された名前はBrowserTestCasesです。 [OK]をクリックしてプロジェクトを保存します。 作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-
テストケースに名前を付けて、[OK]をクリックします。
プロジェクトのセットアップはこれで完了です。 次に、ブラウザのテストケースを作成します。
Seleniumライブラリのインポート
ブラウザで作業するには、セレンライブラリをロボットにインポートする必要があります。 私たちは次のようにそれを行うことができます-
[[1]]
左側で、[ライブラリ]オプションを選択します。
上から外部オプションを選択すると、使用可能なすべてのライブラリがリストされます。
SeleniumLibraryをクリックします。
以下に示すように、githubリポジトリにリダイレクトされます-
seleniumlibraryのインストールでは、githubからコマンドを使用し、pipを使用してインストールできます。
コマンド
pip install --upgrade robotframework-seleniumlibrary
Seleniumライブラリは、次のようにPythonのlibフォルダ内にインストールされます-
インストールが完了したら、以下の手順に示すように、Rideでライブラリをインポートする必要があります。
左側のプロジェクトをクリックし、インポートの追加からライブラリを使用します-
ライブラリをクリックすると、ライブラリ名を入力する必要がある画面が表示されます-
[OK]をクリックすると、ライブラリが設定に表示されます。
指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。 名前が一致しない場合、ライブラリ名は以下に示すように赤になります-
赤のライブラリのインポートは、Python内にライブラリが存在しないのと同じくらい良好です。 これで、セレンライブラリのインポートが完了しました。
Chromeブラウザを使用したテストケース
RobotでChromeブラウザーを使用するには、まずSeleniumで動作するようにchromeのドライバーをインストールする必要があります。 ドライブは、Seleniumサイト(https://www.seleniumhq.org/)で入手できます。
上のスクリーンショットのように[_Seleniumのダウンロード]をクリックします。
ダウンロードセクションで、サードパーティ_seleniumhq_によって開発されていないサードパーティブラウザドライバに移動し、以下の強調表示されたセクションに示すようにGoogle Chromeドライバを選択します
ここでは、ブラウザで使用可能なさまざまなドライバーのリストを示します。 Chromeの場合は、_Google Chrome Driver_をクリックして、オペレーティングシステムごとに最新のドライバーをダウンロードします。
最新リリースをクリックします。 オペレーティングシステム(windows、linux、mac)ごとにダウンロードが表示されます。
上記のリストからオペレーティングシステムごとにバージョンをダウンロードします。 zipファイルをダウンロードします。 ファイルがダウンロードされたら、それを解凍し、.exeドライバーファイルをpythonフォルダーにコピーします。
ファイルを C:\ Python27 \ Scripts にコピーしています。
これで、クロム用のドライバーのインストールが完了しました。 ブラウザを開いてブラウザを閉じるテストケースの作成を開始できます。
乗車に戻って、ブラウザを開くためのキーワードを入力します。
Rideは、組み込みツールで使用されるキーワードを支援します。 コマンドを入力し、 ctrl + spacebar を押します。 以下に示すように、コマンドのすべての詳細を取得します
コマンドの詳細と、使用方法の例も示します。 テストケースでは、クロムでサイトhttps://www.finddevguides.com/を開き、テストケースの詳細は次のようになります-
このテストケースを実行して、出力を確認します-
テストケースに合格しました。サイトがChromeブラウザで開かれていることがわかります。
次のようにテストケースを追加します-
- ブラウザを開く-URL-Chromeブラウザでhttps://www.finddevguides.com/
- キャプチャページのスクリーンショット-画像の名前はpage.pngです
- ブラウザを閉じる
実行された上記のテストケースのレポートとログの詳細は次のとおりです。
報告書
Log
ログからのテストケースの詳細
Firefoxブラウザを使用したテストケース
Firefox用のドライバーをインストールし、python scriptsフォルダーに保存します。
Firefoxのテストケース
結論
Robotフレームワークでブラウザを使用するために、Seleniumライブラリとブラウザドライバをインストールする方法を見てきました。 セレンライブラリキーワードを使用して、ブラウザーで特定のリンクを開き、それと対話できます。 テストケースの実行の詳細は、レポートとログの形式で利用でき、実行にかかる時間を示します。
ロボットフレームワーク-Textboxの操作
テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してテキストボックスを操作する方法を学習します。 入力フィールド-テキストボックスを使用するには、ロケーターが必要です。ロケーターは、そのテキストボックスの主要な一意の識別子であり、ID、名前、クラスなどになります。
この章では、次の領域について説明します-
- テキストボックステストのプロジェクト設定
- 検索テキストボックスにデータを入力
- 検索ボタンをクリック
テキストボックステストのプロジェクト設定
まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗車を開きます。
_New Project_をクリックし、以下に示すようにプロジェクトの_Name_を入力します。
プロジェクトの名前は_Textbox_です。 [OK]をクリックしてプロジェクトを保存します。 作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-
テストケースに名前を付け、[OK]をクリックして保存します。 これでプロジェクトのセットアップは完了です。 さらに、テキストボックスのテストケースを作成します。 Seleniumライブラリーが必要なので、プロジェクトに同じものをインポートする必要があります。
左側のプロジェクトをクリックして、インポートの追加からライブラリを使用します。
ライブラリをクリックすると、ライブラリ名を入力する必要がある画面が表示されます-
[OK]をクリックすると、ライブラリが設定に表示されます。
指定する名前は、サイトパッケージにインストールされているフォルダーの名前と一致する必要があります。
名前が一致しない場合、ライブラリ名は次のスクリーンショットのように赤で表示されます-
テキストボックスにデータを入力
次に、テストケースを作成します。 テストケースの詳細は次のようになります-
- ブラウザを開く-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
結論
ロボットフレームワークのセレンライブラリを使用してテキストボックスを操作する方法を見てきました。ロボットフレームワークで使用可能なキーワードとインポートしたライブラリを使用して、テキストボックスを見つけてデータを入力し、同じものをテストできます。
ロボットフレームワーク-ラジオボタンの操作
テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してラジオボタンを操作する方法を学習します。 ラジオボタンを使用するには、ロケーター(そのラジオボタンの一意のメイン識別子)が必要です。
私たちはここで以下を議論するつもりです-
- ラジオボタンテストのプロジェクト設定
- ラジオボタンのテストケース
ラジオボタンテストのプロジェクトセットアップ
まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインからride.pyを使用して乗車を開きます。
下のスクリーンショットに示すように、[新しいプロジェクト]をクリックし、プロジェクトの[名前]を入力します。
指定された名前はRadioButtonです。 [OK]ボタンをクリックして、プロジェクトを保存します。
作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-
テストケースに名前を付け、[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ラジオボタンが選択されます。
ここにライドの実行の詳細があります-
詳細については、レポートとログを見てみましょう。
レポートの詳細
ログの詳細
テストケースの詳細
結論
テストケースにラジオボタンのグループ名を指定して、ラジオボタンの値を選択する方法を見てきました。 ロボットフレームワークで使用可能なキーワードとインポートされたライブラリを使用して、ラジオボタンを見つけ、ラジオボタンの値を選択できます。 ロボットフレームワークのログとレポートを使用して、実行されたテストケースの詳細を取得します。
ロボットフレームワーク-チェックボックスの操作
テストを行うには、ブラウザーと対話し、html要素を見つける方法を理解することが重要になります。 ロボットフレームワークを使用して入力フィールドを操作するのは非常に簡単です。 この章では、Selenium Libraryを使用してチェックボックスを操作する方法を学習します。 チェックボックスを使用するには、ロケーターが必要です。これは、そのチェックボックスの主な一意の識別子です。 ロケーターは、ID、名前、クラスなどです。
チェックボックステストのプロジェクトセットアップ
まず、Rideでプロジェクトを作成して、ブラウザーで動作するようにします。 コマンドラインから ride.py を使用して乗り心地を開きます。
下のスクリーンショットに示すように、_New Project_をクリックし、プロジェクトの_Name_を入力します。
プロジェクトに指定された名前はCheckboxです。 [OK]をクリックしてプロジェクトを保存します。
作成したプロジェクトの名前を右クリックして、[新しいテストケース]をクリックします-
テストケースに名前を付けて、[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がどのようにあるかです-
チェックボックス
<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 です。
作成されたプロジェクトの名前を右クリックし、[新しいテストケース]をクリックします-
テストケースに名前を付けて、[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]]
キーワードBrowserDetailsのURLはhttps://www.google.com/に変更されます
入力テキストの引数をGoogleサイトから入手できるIDに変更しました。 入力フィールドのID、名前、またはクラスを取得するには、ブラウザで検査およびチェックインできます。
上記のテストケースを実行して、出力を確認します。
正常に実行されると、上記のテストケースは次の出力を生成します-
結論
この章では、組み込みキーワードのヘルプを取得する方法を説明しました。 また、ライブラリキーワードと組み込みキーワードの組み合わせであるユーザー定義キーワードの作成方法も確認しました。
ロボットフレームワーク-変数の操作
この章では、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種類の変数がサポートされています。 これらすべての変数の動作について詳しく説明しました。
コマンドラインでの作業
この章では、コマンドラインを使用してテストケースを実行する方法を学習します。
まず、コマンドプロンプトを開き、テストケースが保存されているフォルダーに移動します。 テストドライブを作成し、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]をクリックして、分解を保存します。
次に、テストケースのキーワードを入力します。
テストケースには入力テキストのみがあります。 ブラウザの開閉は、セットアップとティアダウン設定から行います。
テスト実行の詳細
結論
テストの世界では、セットアップと分解が重要な役割を果たします。 テストケースでセットアップと分解を使用する方法と、それらの実行方法を確認しました。
組み込みライブラリの使用
この章では、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フォルダーに保存されます-
インストールが完了したら、次のステップはプロジェクト内にライブラリをインポートし、テストケースで使用することです。
データベースライブラリのインポート
コマンドラインから ride.py を使用してライドを開き、データベースをテストするためのプロジェクトを作成します。
[新しいプロジェクト]をクリックし、プロジェクトに名前を付けます。
[OK]をクリックしてプロジェクトを保存します。
[インポートの追加]の下の[ライブラリ]をクリックします。
以下に示すように、ライブラリの名前をDatabaseLibraryとして入力し、[OK]をクリックします。
保存すると、ライブラリは次のようになります-
MySQLデータベースを使用します。 MySQLを使用するには、モジュールをインストールする必要があります。
コマンド
pip install pymysql
次に、作成したプロジェクトの下にテストケースを作成します。
[新しいテストケース]をクリックします-
テストケースの名前を入力し、[OK]をクリックします。
顧客と呼ばれる既存のデータベースを使用します。
私たちはphymyadminを使用して顧客データベースを表示します-
customerというテーブルがあり、6行にデータが分散されています。 次に、MySQLデータベースの顧客に接続し、顧客テーブルからデータを取得するテストケースを作成します。
開始する前に、データを保存するために、dbname、dbuser、dbpasswd、dbhost、dbport、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の詳細
結論
データベースライブラリのインポート方法とインストールについて見てきました。 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}*
*$ \ {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をクリックします。
ここで、テストスイートのセットアップを作成しましょう–テストセットアップ。 このセットアップは最初に実行する必要があります。
[テストセットアップの編集]をクリックして、詳細を入力します。
テストセットアップ用に、 Login Page Display というユーザー定義のキーワードを作成しました。これは、上記のスクリーンショットのように引数を $ \ {loginpage} として受け取ります。
[OK]をクリックして、テストセットアップを保存します。
次に、ユーザーキーワード Login Page Display を作成する必要があります。
テストスイートを右クリックし、以下に示すように[新しいユーザーキーワード]をクリックします-
新しいユーザーキーワードは、次のように画面を表示します-
[OK]をクリックして、キーワードを保存します。
ユーザーキーワード Login Page Display に必要なキーワードを入力しましょう。
ここで、 loginpage に移動して、ページのタイトルが指定された値と一致するかどうかを確認します。
次に、テストスイートにテンプレートを追加し、データ駆動型テストケースを作成します。
テンプレートを作成するには、スイートをクリックし、右側で[テストテンプレートの編集]をクリックします。
次の画面に移動します-
テストログインは、再びユーザー定義のキーワードです。 [OK]をクリックして、テンプレートを保存します。
Test Loginキーワードを作成する前に、いくつかのスカラー変数が必要です。 スカラー変数には、email-id、パスワード、成功ページ、失敗ページなどの詳細が含まれます。
次のようにテストスイートのスカラー変数を作成します-
上記のスクリーンショットに示すように、電子メール、パスワード、成功ページ、および失敗ページのスカラー変数を作成しました。
ここで、*テストログイン*ユーザー定義キーワードを作成します。 テストスイートを右クリックし、[新しいユーザーキーワード]をクリックします。
[OK]をクリックして、キーワードを保存します。
次のスクリーンショットは、Test Loginに入力されたキーワードを示しています-
- 電子メールの入力、パスワードの入力、詳細の送信*および*ログインが失敗する*は、次のように定義されるユーザー定義のキーワードです-
メールアドレスを入力して
パスワードを入力する
詳細を送信
ログインに失敗する
次に、作成したテンプレートに異なる電子メールIDとパスワードの詳細を使用するテストケースを作成します。
以下は、テストケースのリストです-
無効なメールIDテストケース
電子メールは値[email protected]で渡され、$ \ {password}は変数に保存されているパスワードです。
無効なパスワード
無効なメール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
結論
ここでは、さまざまな入力でログインページをテストする方法を見てきました。これにより、ログインが正常に機能しているかどうかが検証されます。 実行が行われる方法の詳細は、ログセクションに記載されています。