自分だけの小さなSelenium「Olenium」を作って始める、ブラウザ自動化技術の理論と実践

E2Eテストの実行にはブラウザの自動化が必要不可欠ですが、アプリケーションコード内で完結するユニットテストやインテグレーションテストとは違って、ブラウザ自動化を利用したテストは登場人物や設定が多いです。そのためテストが実行できるようになっても、正直なところその詳細をいまいち理解しておらず、ブラウザ自動化は私にとって技術というより魔法でした。

今年業務未経験から学習を始めて晴れてWebエンジニアになることができました。職業プログラマとなったことは、Web技術の中核であるブラウザを自分がどう動かしているのかを理解していないことへのコンプレックスを強めると同時に、ブラウザ自動化技術への関心を高めるきっかけとなりました。

「誰かが作ったフレームワークで動くものはできるようになったけど、その先を理解できるようになりたい」
「プログラマとして技術を扱っていく以上、魔法で済ませるのではなく自分で使いこなせるようになりたい」

この発表では普段SeleniumやPlayWrightがいい感じに隠蔽してくれているブラウザ自動化の仕組みを、各仕様のドキュメントとシンプルなcurlコマンド等で読み解いていき、最終的に「Olenium」「OlayWright」というRubyを使ったオレオレ簡易実装につなげることで、その全体像を理解していきます。

アバター画像:ikuma-t
ikuma-t

株式会社エンペイで働くプログラマ。普段はRubyとJavaScriptを書き、休日にはパンを焼いています。 いつの日かブラウザのすべてを自分の手で再実装し、その手に収めることを目標に日々を生きています。