発行:August 9、2020
Robot Framework の使い方 – 概要
ロボットの概要
ロボットフレームワークは テスト自動化 QAチームが受け入れテストと受け入れテスト駆動開発(ATDD)環境を簡単に管理できるようにするフレームワークです。このツールは、2005年にPekka Klarck氏によって最初に設計され、同年にNokia Networksで開発されました。2008年にオープンソースとして提供されました。Python言語で書かれたRobotは、ライブラリとツールの豊富なエコシステムを提供し、事実上あらゆるテスト自動化ソリューションと統合できます。このフレームワークは、IronPython(.NET)とJython(JVM)でも動作します。プラットフォームにもアプリケーションにも依存しません。このツールは簡単な構文で提供され、キーワード駆動テストのアプローチを採用しています。キーワードは人間が読める形式で、組み込みのキーワードを使用することも、ゼロから作成することもできます。現在、Robot Framework Foundationがツールの開発を担当しています。
受け入れテストとは何ですか?
受け入れ試験 ソフトウェアが本番環境に投入される前に、機能仕様とビジネス要件に準拠しているかどうかを確認するテストプロジェクトの一部です。典型的な テストパイプラインユニットテストが最初に実行されます。その後に 統合テスト そしてシステムテストです。最後に、エンドユーザーにソフトウェアを配布する前に、ソフトウェアがすべてのビジネス要件を満たしていることを確認するために、受け入れテストが行われます。受け入れテストは通常、ブラックボックステストによって実施されます。
受け入れテストは、たとえば次の 2 つの方法で実行されます。
- 内部受け入れテスト: そのソフトウェアの開発に参加していないソフトウェア会社のメンバーがそれをテストします。
- 外部受け入れテスト: ソフトウェア会社外のメンバー(主にそのソフトウェアを発注したクライアント)がテストを行い、その後、エンドユーザーがテストを行います。
受け入れテスト駆動開発 (ATDD) とは何ですか?
受け入れテスト駆動開発(ATDD)は、ユーザー中心のテスト自動化アプローチです。テスト駆動開発(BDD)環境では、開発者は自身の視点からテストを作成します。ATDDではその逆です。開発者、品質保証チーム、顧客など、複数のチームが協力して受け入れテストケースを作成し、その後、アプリケーションに機能を組み込みます。ユーザー中心のアプローチと、開発チームと機能専門家間のシームレスな連携により、開発されたアプリケーションが受け入れ基準を満たす可能性が高まります。ATDDにより、機能テストは容易かつ効果的になります。
ビヘイビア駆動開発(BDD)とATDDには多くの類似点があります。しかし、重要な点が1つ異なります。BDDは機能の振る舞いに焦点を当てているのに対し、ATDDは要件に焦点を当てています。
受け入れテスト駆動開発の歴史
受け入れテスト駆動開発環境の概念を初めて提唱したのは、2003年にケント・ベック氏が著書『テスト駆動開発:例による解説』の中ででした。彼は、ATDDは現実的には不可能だと考えていました。しかし、ビジネス関係者間の良好な連携を実現するオープンソースのテスト自動化ツール「Fitnesse」の普及により、ATDDは現実のものとなりました。
ATDDは、アプリケーションのユーザー要件を明確に理解すると同時に、開発プロジェクト全体のガイドとして機能します。また、異なるチーム間の円滑な連携を促進します。ATDDで使用されるツールには、Robot Framework、TestNG、Fitnesse、Thucydides、EasyBなどがあります。
受け入れテストとATDDのためのロボットフレームワーク
このフレームワークを進める前に、ツールの重要な側面のいくつかを理解することが重要です。
- テーブルベースのテストケース: このツールを使用すると、シンプルな表形式でキーワードを使用してテストケースを記述できます。
- キーワード: このツールには、テストケースを作成するためのキーワードが組み込まれています。オープンソースライブラリからキーワードをインポートしたり、独自のキーワードを作成したりすることもできます。
- ライブラリ: このツールは、Selenium ライブラリ、iOS ライブラリ、デバッグ ライブラリ、FTP ライブラリなどのさまざまなライブラリをサポートしています。
- <ご参考> このツールを使用すると、外部ソースからキーワードを含むロボット ファイルをインポートできます。
- 変数: このツールは、スカラー変数、辞書変数、リスト変数の 3 種類の変数をサポートしています。
- タグ: このツールを使用すると、テスト ケースにタグを付けることができるため、テスト スイートの実行中にテスト ケースを追加したり省略したりすることができます。
- レポートとログ: このツールは、テストの詳細を HTML およびログ ファイルの形式で提供します。
Robot Framework を使い始める
この受け入れテスト フレームワークを実行するための前提条件は次のとおりです。
- PIP を使った Python
- ロボットフレームワーク
- wxPython
- ライド
ステップ1: Pythonをインストールする
Python ソフトウェアをダウンロードするには、次の Web サイトにアクセスしてください。
https://www.python.org/downloads/
お使いのオペレーティングシステム(例:Windows)の最新バージョンをダウンロードしてください。

Python ソフトウェアをダブルクリックしてインストールを開始します。

「今すぐインストール」をクリックすると、デフォルトのパッケージがインストールされます。pip、IDLE、ドキュメントが付属しています。または、「インストールをカスタマイズ」を選択して、お好みの機能を選択することもできます。
セットアップには「Python 3.8 を PATH に追加する」オプションがあります。このチェックボックスをオンにすると、ツールは環境変数内の Python のパスを自動的に更新します。

インストール オプションをカスタマイズし、場所を選択して [インストール] をクリックし、インストール手順を開始します。

完了すると、Python Windows ツールに貢献した Mark Hammond への感謝のメッセージが表示されます。

Python と pip が正しくインストールされているかどうかを確認するには、コマンド プロンプトを開き、version コマンドを実行します。
- python -version
- pip –バージョン
pip はデフォルトで python と一緒にインストールされることに注意してください。

これで、Python と pip がインストールされ、使用できるようになりました。
ステップ2: 環境変数を設定する
Pythonとpipをインストールしたら、パスを追加して環境変数を設定する必要があります。そのためには、
- システム > 詳細システム設定 > 詳細設定 > 環境変数に移動します。

Pythonがインストールされているフォルダのパスを、システム変数セクションとユーザー変数セクションに追加します。Pythonのインストール時にこのオプションが選択されているため、パスは既に更新されていることがわかります。
ステップ3: Robot Frameworkをインストールする
コマンドプロンプトを開き、python フォルダーに移動して、次のコマンドを入力します。
- pip で robotframework をインストールする

Robot Framework が正常にインストールされました。version コマンドで確認できます。
- ロボットバージョン
ステップ4: wxPythonをインストールする
次のリンクから wxPython ソフトウェアをダウンロードしてください。
コマンドプロンプトを開き、次のコマンドを入力します。
- pip インストール –u wxPython

これで、wxPython バージョン 4.1.0 が正常にインストールされました。
ステップ5: RIDEをインストールする
RIDE をインストールするには、コマンド プロンプトを開いて次のコマンドを入力します。
- pip で robotframework-ride をインストールします

これで、RIDE が使用できるようになりました。

RIDE を開くには、コマンド プロンプトを開いて次のコマンドを入力します。
- ライド.py
Pythonの最新バージョン(3.8.1)はRIDEをサポートしていません。Future Ride 2.0のリリースをお待ちください。2020年7月にリリースされたベータ版は、GitHubサイトからダウンロードできます。
https://github.com/robotframework/RIDE/releases
あるいは、コマンドプロンプトを開いてpipを使用してベータ版をインストールすることもできます。
- pip インストール –pre-upgrade Robot Framework-ride==2.0b1

pip は ride のベータ バージョンをインストールします。

次に、コマンドプロンプトを開き、次のコマンドを入力して RIDE エディターを開きます。
- ライド.py
Robot Framework を使用した最初のテストケースの実行
最初のテストケースを実行するには、Windowsデスクトップのショートカットリンクを使用してRIDE IDEを起動します。または、コマンドラインインターフェースを使用してRIDEを起動することもできます。
コマンドプロンプトを開き、次のコマンドを入力します。
- ライド.py

ファイル -> 新しいプロジェクトをクリックします

プロジェクトの名前を入力し、「OK」をクリックします。

テストプロジェクトの名前は、左側のメニューの「テストスイート」の下にあります。テストプロジェクトを右クリックし、「新しいテストケース」を選択してください。

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

次に、ドキュメント画面をクリックして、テスト ケースの詳細を文書化します。

Rideでは、スクリプトを表形式で記述できます。キーワードと各キーワードの値を追加できます。例えば、「log」というキーワードを入力すると、テストの詳細がログに記録されます。

「保存」をクリックしてテストケースを保存します。
これで、「開始」をクリックしてテストケースを実行できます。または、コマンドラインインターフェースからこのテストケースを実行することもできます。
コマンドプロンプトを開き、保存したテストケースのフォルダに移動します。ファイルは、ロボットフレームワークプロジェクトディレクトリのscriptsフォルダに保存されます。
- ロボット -T Experitest1.robot

テストケースは正常に実行されました。RIDEはXML形式の出力ファイルと、HTML形式のレポートファイルとログファイルも作成します。HTMLファイルを開いてレポートを確認できます。HTMLファイルはWindowsで直接開くことも、コマンドプロンプトを使用してエクスプローラーを起動することもできます。レポート名を確認し、コマンドプロンプトで次のコマンドを入力してください。
- 開始レポート-20200729-202047.html
通常、ライドは、YYYY/MM/DD 形式のデータと HHMMSS 形式の時間を使用してレポートを保存します。

テスト実行ログを確認するには、右上隅のログをクリックしてください。CLIを使用してログを開くこともできます。
- 開始ログ-20200729-202047.html

テスト実行ログからわかるように、テストはキーワード駆動型です。指定されたレベルで、キーワードと指定されたメッセージを確認できます。

別のサンプルテスト – ログイン認証情報のテスト
これは、ウェブサイトを開いてログイン認証情報を検証する別のサンプルテストです。また、このテストではデモアプリを使用しており、デモサーバーはローカルホスト(http://localhost:7272)で実行されています。

次に、新しいプロジェクトとテスト ケースを作成し、次のコードを追加します。
*** 設定 ***
- SeleniumLibrary を使用したドキュメント Experitest サンプル テスト。
- ライブラリ SeleniumLibrary
*** 変数 ***
- ${ログインURL} http://localhost:7272
- ${ブラウザ} Chrome
*** テストケース ***
- 有効なログイン
- ブラウザを開いてログインページへ
- ユーザー名入力デモ
- パスワード入力モード
- クレデンシャルを提出する
- ようこそページが開いているはずです
- [分解] ブラウザを閉じる
*** キーワード ***
- ブラウザを開いてログインページへ
- ブラウザを開く ${LOGIN URL} ${BROWSER}
- タイトルはログインページであるべき
- ユーザー名を入力してください
- [引数] ${username}
- 入力テキスト username_field ${username}
- パスワードを入力してください
- [引数] ${password}
- 入力テキスト password_field ${password}
- クレデンシャルを提出する
- ボタンをクリック login_button
- ようこそページが開いているはずです
- タイトルは「ようこそページ」
このテスト スイートは、さまざまなテスト ケースを実行し、無効なユーザー名、無効なパスワード、ログインの成功など、さまざまなシナリオでログイン機能をチェックします。
結論する
ビジネスの世界が機能ベースの開発からユーザー中心のアプローチへと移行する中、受け入れデータ駆動型開発はソフトウェア開発・テスト環境において重要な役割を担っています。Robot Frameworkはまさにこの目的に適っており、キーワード駆動型テスト手法を採用したオープンソースのフレームワークは、受け入れテストを容易かつ費用対効果の高い方法で実行することを可能にします。読みやすい構文と使いやすいインターフェースにより、あらゆる規模のテスト企業にとって最適な選択肢となります。
統合できる他のフレームワークを見たい場合は Digital.ai Continuous Testing もっとよく見なさい.
