Python UIテストができるselenium

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

ほんの少しだけ朝晩が過ごしやすくなったような気がしますが、日中は相変わらず暑い日が続いています。

熱中症で亡くなる方が増えていますが、その原因の多くがエアコンをいれずに部屋で過ごしているらしいです。

電気代が気になるのはわかりますが、自分の健康を守るために、しっかりとエアコンを利用しましょう!

それでは、今日もPython学習をはじめましょう。

昨日の復習

昨日はUIテストができるseleniumの基本を学習しました。

UIテストは、ユーザーインターフェイスの動作によってシステムが正常に動作するか確認することができます。

そんなUIテストができるのがseleniumですが、使用するにはpipインストールに加えてドライバのインストールが必要でした。

今日は、python.orgの動作をselieniumでテストしてみます。

test_ui.py

今回テストするのはファイルではなく、Webページなので、作成するのはテストファイルのtest_ui.pyです。

Python UIテストができるselenium

ファイルを作成したあとは【Edit Configrations】から新しくunittestを作成します。

Python UIテストができるselenium

設定が完了したら、test_ui.pyのコードを書いていきます。

import time
import unittest

from selenium import webdriver


class PythonOrgTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()

    def tearDown(self):
        self.driver.close()

    def test_python_org(self):
        self.driver.get('https://www.python.org')
        time.sleep(2)

操作の流れがわかりやすいように、time.sleepを使うためにtimeunittestをインポートします。

加えてseleniumからwebdriverをインポートします。

PythonOrgTestクラスを作成し、setUptearDownでFirefoxを開いて閉じる動作を入れておきます。

メインのテストは、Firefoxでpython.orgのページをゲットする関数で、time.sleepによって、2秒間動作を遅らせるコードを加えています。

実行結果

このテストを実行すると、Firefoxが起動して2秒経過後Firefoxを閉じる動作をします。

動画にしてみたのがこちら。

テストファイルを実行すると、Firefoxが起動して、Python.orgを表示して、その状態を2秒維持したあとFirefoxを閉じています。

Pycharmに戻るとテストが終了しています。

ワクワクする

Webブラウザを操作するプログラムはほんとワクワクしちゃいます。

操作してもいないのに勝手にブラウザを立ち上げたり、検索したり、入力したりするのを見るとこれこそまさに自動化だなと感慨深いものがあります。

とはいっても、継続して学習しないとどのようにしたらいいのか忘れてしまうんですよね。

その点、今Pythonを学習している酒井さんの講座をみていると、どうしてこうもスラスラとコードが出てくるんだろうかと不思議に思ってしまいます。

Udemy講師 酒井さん プログラミング Python

プロのプログラマーなので当たり前といえば当たり前なんですが、やはりこのくらいのスピードでコードが書けないとプログラマーは務まらないんでしょうね。

明日は、さらに突っ込んで、Python.orgのサイトで検索をするテストをやってみたいと思います。

それでは明日もGood Python!