Outline
E2E test automationのsolutionに、robot frameworkがある。
robot frameworkの特徴として、以下のようなものがある
- 自然言語に近い記述で処理を記述できる(キーワード駆動)
- 複雑なプログラミングなしで記述できる
- レポーティング機能がデフォルトで用意されている
今回、robot framework環境を構築し、簡単なプログラムを実行して体験してみる。
尚、BigSur 11.6.1で構築した
Item | Version | Note |
---|---|---|
Mac | BigSur 11.6.1 | |
Python | 3.8.9 | |
chrome | 100.0.4896.60 |
Install Python
macはdefaultでPython2.7がinstallされている。
しかし、最新にして動かしたいので、Python3をinstallする
Install Homebrew
Pythonをinstallするにあたり、パッケージ管理ツールHomebrewをinstallする
terminalを起動し、以下コマンドを入力する
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Install Python
homebrewを使って、python3をinstallする
brew install python3
install後、version確認をする
python3 --version
PATH 設定
pip のpathを設定する
基本的に、user (${USERNAME}) のLibraryにinstallされる。
まず、installされた先を確認する
/Users/${USERNAME}/Library/Python/3.8/bin
bashを使用している場合、.bash_profileにexportでPATHの追加をする
vi ~/.bash_profile
export例
export PATH="/Users/${USERNAME}/Library/Python/3.8/bin:$PATH"
改めて、terminalを起動し、PATHを有効にする。
Install robotframework
pipを用いてインストールする
pip3 install --upgrade robotframework-seleniumlibrary
chrome selenium webdriver
chromeのwebdriverをインストールする
download
使用しているchromeのversionに合わせたdriverをdownloadする
download後、任意のpathに配置する。
今回、chrome version 100.0.4896.60 のため、mac用の100.0.4896.60versionをdownloadする。
path
設置したchromedriverをどのpathからでも実行できるように、pathを設定する
export例
export PATH="/Users/${USERNAME}/Applications:$PATH"
※ userのApplicationsに配置した場合
権限付与
そのままでは実行できない。実行権限を与える
chmod 755 chromedriver
開発元未確認の解除
chromedriverをそのまま使用することはできません。
以下のような警告が出ます。
これを解除するため、設定→セキュリティとプライバシーで、許可の設定をする
参考
https://support.apple.com/ja-jp/guide/mac-help/mh40616/mac
Sample Program
実際に構築した環境が動くかどうか、簡単なプログラムを走らせてみる。
programは以下のテストステップを実行する
- chromeを立ち上げる
- rakuten topにアクセスする
- screenshotをとり、保存する
- chromeを閉じる
*** Settings ***
Documentation sample program
Library SeleniumLibrary
*** Test Cases ***
ScreenShot top page
Open Browser https://rakuten.co.jp/ browser=chrome
Capture Page Screenshot filename=screenshot.png
Close Browser
では、実際に走らせてみよう。
robot sample.robot
実行後、report fileとscreenshot.pngが生成されていることが確認できる。
reference