LoginSignup
3
4

More than 3 years have passed since last update.

Robot Frameworkのデモアプリを動かす

Posted at

Robot Frameworkとは?

Robot Framework とは、Python製のブラウザオートメーションツールです。
自然言語に近い形式でスクリプトを記述できるのが特徴で、受け入れテストの自動化や、RPAのように定型業務を自動化することを想定しています。

公式サイトはそこそこ情報量が多いのですが、クイックスタートというか「この手順どおりやればとりあえず試せるよ」みたいなのが少なかったので、デモ用のWebアプリケーションを動かして、それをテストするところまでの手順をまとめてみました。

環境

  • Ubuntu 19.04
    • OS依存の部分はあんまりないと思うのでたぶんWinでもMacでも動くと思います
  • Python 3.7.4

インストール

pipがインストールされていることが前提です。


$ pip install robotframework

インストールが成功すると、 robot コマンドが利用できるようになります。

動かす

公式が用意してくれている デモアプリケーション を利用します。

clone~デモアプリ起動まで


$ git clone git@github.com:robotframework/WebDemo.git
$ cd WebDemo
$ python demoapp/server.py

成功すると、 http://localhost:7272 を開くとログイン画面が表示されます。
デモアプリを終了したいときは Ctrl+C

テスト実行

別のターミナルを開き、下記を実行します。


$ robot login_tests/

ブラウザが自動で動き、テスト結果がターミナルに流れてきます。

==============================================================================
Login Tests                                                                   
==============================================================================
Login Tests.Gherkin Login :: A test suite with a single Gherkin style test.   
==============================================================================
Valid Login                                                                                                                                 Valid Login                                                           | PASS |
------------------------------------------------------------------------------
Login Tests.Gherkin Login :: A test suite with a single Gherkin st... | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed

(略)

8 critical tests, 8 passed, 0 failed
8 tests total, 8 passed, 0 failed
==============================================================================
Output:  /home/tsuemura/WebDemo/output.xml
Log:     /home/tsuemura/WebDemo/log.html
Report:  /home/tsuemura/WebDemo/report.html

report.html を開くと、なんか古臭…………シンプルで見やすい感じのレポートが生成されています。

image.png

(おまけ)トラブルシューティング

主にVMやクラウドサーバなどで動かしている場合向けのハマりどころ。
たぶん普通はハマらないポイントのはずなので読み飛ばしていいはず

デモアプリを違うサーバで動かしたい

デモアプリケーションでは、以下のように localhost からのアクセスにのみ制限されています。
demoapp/server.py 内の、'localhost' と書かれたところを '' に置き換えると、異なるサーバからもアクセスすることができます。

demoapp/server.py

class DemoServer(ThreadingMixIn, HTTPServer):
    allow_reuse_address = True

    def __init__(self, port=PORT):
        HTTPServer.__init__(self, ('localhost', int(port)),  # <<< ここの 'localhost' を空欄にする
                            SimpleHTTPRequestHandler)

Selenium Serverを違うサーバで動かしたい

Robot Frameworkを実行するマシンとは別のマシンでSeleniumを動かす場合、Open Browser の引数を追加する必要があります。
login_tests/resource.robot を以下のように編集してください。

login_tests/resource.robot

Open Browser To Login Page
    Open Browser    ${LOGIN URL}    ${BROWSER}  None    http://{Selenium ServerのIP}:4444/wd/hub

引数のリストは Selenium Libraryのkeyword documentation に記載されています。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4