gauge × python のインストール時につまづいた3つのこと

2 min read読了の目安(約1900字

どうも、京都でQAっぽいことしてるjima262です。

基本はマニュアルテストを中心に日々ウェブサイトをチェックしてるのですが、やはり自動化という大きな波が来ているため、チームでも検討が進んでいます。

これまで、Selenium → Kataron → cypress.io と、いろいろなツールを用いながら、E2Eテストの自動化の検討を行ってきたものの、なかなか運用のフローに組み込むことができていない状況でした。

理由は様々ですが、一番大きいのは、メンテナンスコスト、です。

やはり、ツールを導入したとしても、テストコードのメンテや追加は必須です。
とはいえ、新規案件のマニュアルテストは継続して行わなければならない、となると、主に回帰テストが目的のE2E自動化テストは、日の目を浴びる機会が日に日に減っていく、という状況でした。

そこで、新たに目をつけたのが gauge.org (多分ゲージ)です。

詳しくは他のzenn記事やQiita記事に譲りますが、テストコードと、テスト項目が別になったようなテスティングツールです。

UZABASEさんも使われているようで、今後盛り上がっていくのでは、いや、盛り上げていこう、と密かに画策しています。

▷ GaugeのConceptを用いてテストシナリオをより仕様書のように記述する

Markdown形式でテスト設計することができるため、他のドキュメントとの親和性が高いだけでなく、可読性が高く、メンテコストが低い、と来たもんですから、やる理由しか見つかりませんでした。

そして、テストコードはjsやjava、python といった様々な言語に対応しています。私はスクレイピングをpythonでしていることもあり、pythonで書きたいな、と思いました。

いざ、インストール!

インストールはかんたん、なはずが

gauge(ゲージ)のインストールはとってもかんたんです。コマンドを2,3叩いて、VScodeをインストールしさえあれば、実際に自動テストを動かすことができます。導入まで、15分もかからないと思います。

上述したとおり、私はpythonを選択したのですが、走らせても走らせてもうまくいきませんでした。。。

つまづきポイント その1

VScodeのpythonをインストールしていませんでした。

Python - Visulal Studio Marketplace

こちらから、pythonの拡張機能をインストールし、かつ、インタプリタに正しいpythonの環境を選択する必要がありました。

(地味につまづきました。。。しっかり解説に書いているんですが、飛ばし読みしてました。)

つまづきポイント その2

VScodeからCmd+Shif+P → gauge 〜〜 で新しいpythonプロジェクトを作成しても、うまくいきませんでした。

pip install -r requirements.txt

を実行して、getgauge をインストールすることで、前に進みました(まだ解決はしていない)

つまづきポイント その3

動いてるpythonのバージョンが2.7系でした。

テストをVScodeで実行すると、エラーが起きます。
ログを確認すると、なにやら2.7 が呼び出されてエラーが起きていそう。

いろいろみてみると、gaugeプロジェクトの中に python.propetiesというファイルがあり、
そして、その中に GAUGE_PYTHON_COMMAND = python という記載がありました。

なんとなくの試しで

GAUGE_PYTHON_COMMAND = pythonGAUGE_PYTHON_COMMAND = python3 とすると、綺麗サッパリエラーが無くなり、見事にサンプルのテストが走りました。

私の手元のPCに原因があるかな、と思いつつも、業務で使用しているPCも同じ問題にぶち当たり、同じ解決策で事なきを得ました。

もしかすると、だれか悩んでいる人がいるかも、ということで、今回投稿しました。

最後に

今後は、gaugeのスクリプト周りをちまちま上げていきたいと思います。