Python UIテストができるselenium

Python学習【365日チャレンジ!】192日目のマスターU(@Udemy11)です。

久しぶりに映画館に行ってきたのですが、1席空きの座席だったので、かなりゆったりと両肘を置いて映画を見ることができました。

もしかして貸し切り?なんて思って行ったのですが、意外と人が多くてびっくり。

ま〜多いと言っても20%も席は埋まっていないので、ガラガラの部類には入るんですけどね。。。

それでは今日もPython学習をはじめます。

昨日の復習

昨日、一昨日でtoxを学習しました。

toxは、virtualenvを使って、必要なパッケージをインストールして、パッケージを作成してテストも実施してくれました。

Pythonの専用環境を作成してテストができるのが便利で、自分のPython環境に依存しないテストができて、上書きしたり、削除して新しく作成したりできました。

便利な使い方ができるtoxについては、こちらの記事をごらんください。

今日は、UI(ユーザーインターフェイス)をテストすることができるselieniumを学習しましょう。

UIテストとは

UIテストは、UI(ユーザーインターフェイス)を持ったアプリケーションが期待通りの動作ができるかをテストするものです。

ユーザー入力後のアクションが正しくできるか、期待したデータを表示できるかなどをテストすることができます。

例えば、Webサイトに期待したテキストが表示されているか、検索窓に入力して検索した結果が正しく表示されているか、などをチェックします。

そのUIテストがPythonでできる代表的なパッケージがseleniumということです。

seleniumとは

seleniumは、伝統的なサーバーサイドレンダリングができるテストツールで、Webアプリケーションのテストを自動化できるのが特徴。

Webブラウザを自動操作できるライブラリで、いろいろな機能が詰め込まれています。

seleniumのインストール

seleniumはpipでインストールできますので、ターミナルからコマンドpip install seleniumでインストールします。

さらに、ドライバが必要になるので、Windowsを使っている場合は、PyPIのseleniumのページからWebブラウザにあったドライバをインストールします。

Macの場合はbrewでドライバのインストールが可能ですので、それぞれのWebブラウザーにあったドライバをbrewでインストールします。

今回は、Firefoxのドライバをインストールしますので、brew install geckodriverを実行します。

Python UIテストができるselenium

最初は、brewのアップデートを実行してからドライバーのインストールをするので、ちょっと時間がかかります。

Homebrewのアップデートが終了すれば、seleniumのFirefox用ドライバーのインストールが始まります。

テストを整理

setuptoolsで対話アプリJarvisを使ったテストを作りましたが、本来、UIテストもテストフォルダを作ってテストを整理したほうがわかりやすいかと思います。

ただ今回は、Webブラウザーを使ってサイトのテストを試してみるので、普通にtest_ui.pyを作ってseleniumを使っていこうと思います。

ということで、早速テストファイルのコードを書いていこうと思うのですが、どういうわけか、まぶたがおもすぎて目を開けていられません。

睡魔には勝てないようなので、明日、改めてtest_ui.pyを作成していきますので、今日はこのへんで。

それでは明日もGood Python!