Python学習【365日チャレンジ!】193日目のマスターU(@Udemy11)です。
ほんの少しだけ朝晩が過ごしやすくなったような気がしますが、日中は相変わらず暑い日が続いています。
熱中症で亡くなる方が増えていますが、その原因の多くがエアコンをいれずに部屋で過ごしているらしいです。
電気代が気になるのはわかりますが、自分の健康を守るために、しっかりとエアコンを利用しましょう!
それでは、今日もPython学習をはじめましょう。
昨日の復習
昨日はUIテストができるseleniumの基本を学習しました。
UIテストは、ユーザーインターフェイスの動作によってシステムが正常に動作するか確認することができます。
そんなUIテストができるのがseleniumですが、使用するにはpip
インストールに加えてドライバのインストールが必要でした。
今日は、python.orgの動作をselieniumでテストしてみます。
test_ui.py
今回テストするのはファイルではなく、Webページなので、作成するのはテストファイルのtest_ui.py
です。
ファイルを作成したあとは【Edit Configrations】から新しくunittestを作成します。
設定が完了したら、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
を使うためにtime
とunittest
をインポートします。
加えてselenium
からwebdriver
をインポートします。
PythonOrgTest
クラスを作成し、setUp
とtearDown
でFirefoxを開いて閉じる動作を入れておきます。
メインのテストは、Firefoxでpython.orgのページをゲットする関数で、time.sleep
によって、2秒間動作を遅らせるコードを加えています。
実行結果
このテストを実行すると、Firefoxが起動して2秒経過後Firefoxを閉じる動作をします。
動画にしてみたのがこちら。
テストファイルを実行すると、Firefoxが起動して、Python.orgを表示して、その状態を2秒維持したあとFirefoxを閉じています。
Pycharmに戻るとテストが終了しています。
ワクワクする
Webブラウザを操作するプログラムはほんとワクワクしちゃいます。
操作してもいないのに勝手にブラウザを立ち上げたり、検索したり、入力したりするのを見るとこれこそまさに自動化だなと感慨深いものがあります。
とはいっても、継続して学習しないとどのようにしたらいいのか忘れてしまうんですよね。
その点、今Pythonを学習している酒井さんの講座をみていると、どうしてこうもスラスラとコードが出てくるんだろうかと不思議に思ってしまいます。
プロのプログラマーなので当たり前といえば当たり前なんですが、やはりこのくらいのスピードでコードが書けないとプログラマーは務まらないんでしょうね。
明日は、さらに突っ込んで、Python.orgのサイトで検索をするテストをやってみたいと思います。
それでは明日もGood Python!