今日は私の制作物でも紹介しようかなと思ったので、資料を急ごしらえしました。
boilersE2Eというプロジェクトは私が2023年の11月、
今の会社に入社する前に手土産にしたいなーと思い、
寝る間を惜しみながら、制作したものです。
改善のアイディアが思いつく度に、メンテナンスしています。
E2Eテストとは?(自分の持っている知識で語ります)
E2Eテストとは、Web業界ではよく知られている技術で
Seleniumを使って、Webブラウザの操作を自動で行うことで、
自社のWebサービスのシナリオテストを自動でやったりするものです。
便利な半面、Webサイトのアニメーションを待たないとうまく動かない
みたいなことがあるので、Seleniumのラッパーライブラリを使ったりして、
遅延評価・遅延実行を可能にします。
boilersE2Eを作った動機
WinAppDriverという、Windowsデスクトップアプリケーション向けにE2Eテストが行える
技術を見つけて、利用してみたものの、生のままだとうーん、あれ足りない、これ足りない
みたいなことになったので、えいやぁ、自分で作ってしまえー。ということになりました。
あと、新しい会社で、自分はこんな技術を持っていますよ~とアピールしたかったのもあります。
Requirements
です。
boilersE2Eシリーズの構成
boilersE2E のREADME.mdを見てもらうと、わかるのですが
boilersE2Eは4つのライブラリで構成されています。
- boilersE2E.Core
- boilersE2E.MsTest
- boilersE2E.NUnit
- boilersE2E.xUnit
boilersE2E.Coreは文字通り、核となる機能を含んでいます。必須コンポーネントです。
boilersE2E.MsTest, boilersE2E.NUnit, boilersE2E.xUnitはそれぞれ、各テスティングフレームワークに対応する形で
ラッパークラスなどを含んでいます。これは選択してインストールするタイプのコンポーネントです。
LucidchartでUMLクラス図を作ってみたので、どうぞご覧ください。
各図の上段にはboilersE2E.Core名前空間、中段にはboilersE2E.各テストフレームワーク 名前空間、下段にはユーザー名前空間を配置しています。
つまり、上段と中段はNuGetパッケージマネージャーでインストールできるようにしておくので、開発者の皆さんには、下段部分を実装してもらう形になります。
こんな感じです↓↓ 電卓アプリの例です。
自プロダクトの開発がスムーズに進んでおり、シナリオテストを自動化したいって人にオススメです!
使ってやってください!!!