この記事は「Robot Framework Advent Calendar 2017 - Qiita」の12日目の記事です。
Robot Frameworkのテストケースはプレーンテキスト(.robot
や .txt
)で書けるため、任意のエディタやIDEを使えます。
ただ、効率的にテストケースを書くためには、
- シンタックスハイライト
- キーワード補完
- キーワードや変数の定義へジャンプ
などが欲しいです。
Robot Frameworkの公式サイトの Tools > Editor
では、エディタやIDEのプラグインについて紹介されています。
http://robotframework.org/#tools
そこで今回は、その中から
を試してみました。
目次
環境
- Python 3.6.3
- Robot Framework 3.0.2
- IntelliJ IDEA 2017.3
- Python Plugin 2017.3.173.3727.131
- Visual Studio Code 1.18.1
- Atom 1.19.6
ちなみに、自分は普段JetBrains系のIDEを使っているため、プラグインは intellibot
を使っています。
注意:SeleniumLibraryの補完について
2017/12/12現在、SeleniumをRobot Frameworkから扱う SeleniumLibrary
の最新版(3.0.1)を参照した場合、JetBrains系のIDEやVisual Studio Codeのプラグインではキーワード補完がうまく動作しないです*1。
Selenium2Library 1.8.0
であればキーワード補完ができるようです。が、Python3.x系では動作しないです...
JetBrains系IDEのプラグイン
3つのプラグインがありました。
- Robot Framework Support (robot-plugin)
- 最新バージョン 0.16.3 (最終更新 2017/8/17)
- https://plugins.jetbrains.com/plugin/7415-robot-framework-support
- https://github.com/AmailP/robot-plugin
- IntelliBot
- 最新バージョン 0.10.143.381 (最終更新 2016/5/31)
- https://plugins.jetbrains.com/plugin/7386-intellibot
- https://github.com/millennialmedia/intellibot
- Robot Plugin (robot-intellij-plugin)
- 最新バージョン 1.7.1 (最終更新 2015/2/14)
- Java向け
- https://plugins.jetbrains.com/plugin/7430-robot-plugin
- https://github.com/jivesoftware/robot-intellij-plugin
このうち、 Robot Plugin
はJava向けらしく、今回は試しませんでした。
Robot Framework Support (robot-plugin)
手元の環境で試したところ、
- シンタックスハイライト
ができました。
一方、
- 実装されているはずの機能 (キーワード補完やキーワード定義へのジャンプ) ができなかった
- Selenium3.x系のキーワード補完ができなかった
- IDE 2017.3系だと、初期設定では動作しないため、手動での修正が必要
がありました。
IntelliBot
手元の環境で試したところ、
- シンタックスハイライト
- キーワード補完
- 標準ライブラリや、ユーザ定義のキーワード(日本語のキーワードもOK)
- 定義へのジャンプ
などができました。
一方、
- Selenium3.x系のキーワード補完できず
- IDEが時々クラッシュする
という問題がありました。
とはいえ、日本語のキーワード補完もできるので、こちらを使っています。
また、intelliBotにはオプション設定がいくつかあります。自分の場合はデフォルト設定に加え、Robot Frameworkのサンプルの書式に合わせ、 Capitalize Keywords
にチェックを入れています。
これにより、 should be equal
が Should Be Equal
として補完されます。少々挙動が怪しいですが、許容範囲内です。
Visual Studio Codeのプラグイン
現在は4つほど見つかりました。
- Robot Framework Intellisense
- robotframework
- 最新バージョン 0.1.3 (最終更新 2017/4/29)
- https://marketplace.visualstudio.com/items?itemName=vivainio.robotframework
- https://github.com/vivainio/robotframework-vscode
- robot framework language
- RobotF Extension
- 最新バージョン 1.6.8 (最終更新 2017/11/6)
- https://marketplace.visualstudio.com/items?itemName=kmk-labs.robotf-extension
- https://github.com/KMK-ONLINE/vscode-robotExtension
Robot Framework Intellisense
手元の環境では
- シンタックスハイライト
ができました。
一方、
- 実装されているはずのコード補完やコードジャンプが効かない
がありました。
その他の既知の問題については、以下に記載がありました。
https://github.com/tomi/vscode-rf-language-server/blob/master/client/KNOWNISSUES.md
robotframework
手元の環境では
- シンタックスハイライト
ができました。
コード補完やコードジャンプの機能は元々無いようです。
robot framework language
手元の環境では
- シンタックスハイライト
ができました。
RobotF Extension
手元の環境では
- 英語のキーワードを補完
- 英語のキーワードの定義へ移動
- 英語のキーワード名を置換
などができました。
一方、日本語については上記の機能が実行できませんでした。
また、シンタックスハイライトについては機能は実装されていないようです。説明にも、
You need to have robotframework language support for visual studio code if you want text highlighter
とありました。
Atomのプラグイン
Atomのプラグインを見たところ、階層的な依存が見られたため、すべてを入れてみます。
- language-robot-framework
- 最新バージョン 2.1.0 (最終更新 2016/4/21)
- ベースとなるプラグイン
- https://atom.io/packages/language-robot-framework
- https://github.com/wingyplus/language-robot-framework
- autocomplete-robot-framework
- 最新バージョン 3.3.0 (最終更新 2017/4/22)
- コード補完をするプラグイン
- https://atom.io/packages/autocomplete-robot-framework
- https://github.com/gliviu/autocomplete-robot-framework
- hyperclick-robot-framework
- 最新バージョン 1.6.0 (最終更新 2017/5/7)
- キーワード定義へジャンプするプラグイン
- https://atom.io/packages/hyperclick-robot-framework
- https://github.com/gliviu/hyperclick-robot-framework
なお、インストール方法はこちらを参考にしました。
https://gist.github.com/Tset-Noitamotua/22e9edaade89e52fb10fcefd51a4547b
$ apm install language-robot-framework $ apm install autocomplete-robot-framework $ apm install hyperclick $ apm install hyperclick-robot-framework
試してみたところ、
- シンタックスハイライト
- コード補完
- SeleniumLibraryの補完もOK
ができました。
一方、
- 日本語のコード補完
- キーワード定義へのジャンプ
ができませんでした。
その他
以下にも情報がありました。
- What editor for Robot Framework test cases | Laurent Bristiel
- How To Add Robot Framework Syntax in Sublime Text and VIM editor – Just Another Tech Blog
ここで紹介した以外にも、エディタやIDEのRobot Frameworkのプラグインがあるため、いろいろと試してみてはいかがでしょうか。
シンタックスハイライトがあるだけでも分かりやすくなります。