ボイラーのチラシ裏

テクノロジーやフィギュア、ゲームに関すること

第一回自作のE2Eテストフレームワークの紹介 boilersE2Eについて

今日は私の制作物でも紹介しようかなと思ったので、資料を急ごしらえしました。

github.com

boilersE2Eというプロジェクトは私が2023年の11月、

今の会社に入社する前に手土産にしたいなーと思い、

寝る間を惜しみながら、制作したものです。

改善のアイディアが思いつく度に、メンテナンスしています。

E2Eテストとは?(自分の持っている知識で語ります)

E2Eテストとは、Web業界ではよく知られている技術で

Seleniumを使って、Webブラウザの操作を自動で行うことで、

自社のWebサービスのシナリオテストを自動でやったりするものです。

便利な半面、Webサイトのアニメーションを待たないとうまく動かない

みたいなことがあるので、Seleniumのラッパーライブラリを使ったりして、

遅延評価・遅延実行を可能にします。

boilersE2Eを作った動機

github.com

WinAppDriverという、Windowsデスクトップアプリケーション向けにE2Eテストが行える

技術を見つけて、利用してみたものの、生のままだとうーん、あれ足りない、これ足りない

みたいなことになったので、えいやぁ、自分で作ってしまえー。ということになりました。

あと、新しい会社で、自分はこんな技術を持っていますよ~とアピールしたかったのもあります。

Requirements

  • C#
  • WinAppDriverをインストールすること。
  • Windowsを開発者モードにすること。
  • いくつか環境変数を定義する必要があること。

です。

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.NUnitのクラス図

boilersE2E.MsTestのクラス図

boilersE2E.xUnitのクラス図

各図の上段にはboilersE2E.Core名前空間、中段にはboilersE2E.各テストフレームワーク 名前空間、下段にはユーザー名前空間を配置しています。

つまり、上段と中段はNuGetパッケージマネージャーでインストールできるようにしておくので、開発者の皆さんには、下段部分を実装してもらう形になります。

こんな感じです↓↓ 電卓アプリの例です。

自プロダクトの開発がスムーズに進んでおり、シナリオテストを自動化したいって人にオススメです!

使ってやってください!!!