Shiratesのアーキテクチャ概要
テスト実行構成の概要
shirates-core は Appium をドライバーとして使用します。
- IntelliJ IDEA/Gradle
- テストを実行するプロセスを起動します。
- Appium Server
- クライアントからの要求を受けてスマホ端末を操作します。
- Emulator/Real Device
- Appium Serverからの要求を受けて画面を操作します。
shirates-coreの依存ライブラリ
shirates-core はAppium以外にもいくつかのOSSライブラリを使用します。
shirates-coreの論理コンポーネント
shirates-core は以下のような論理コンポーネントから構成されます。
要素の取得とキャッシュ
shirates-core は画面上のすべての要素を取得してキャッシュします。
select関数等の要素の検索を実行する場合はキャッシュ内で行います。AppiumのfindElement系の検索メソッドは原則として使用しません。
キャッシュ内の要素情報を活用するすることで、Appium単体では実現できない複雑な検索を高速に実行することができます。
Android版とiOS版のテストコードの共通化
shirates~core は appium/java-client のラッパーとして機能し、AndroidとiOSの差異を吸収します。
AndroidとiOSの画面情報の差異は画面情報ファイルで吸収することができます。
これらの仕組みにより、同一仕様のアプリのAndroid版とiOS版のテストコードを共通化することができます。