tapAppIcon関数を構成する
tapAppIcon 関数
tapAppIcon関数を使用するとアプリアイコンをタップして起動することができます。
it.tapAppIcon("Chrome")
この関数はデフォルトではGoogle Pixel
と iOS
向けに最適化されています。
パラメーターの構成
Androidデバイスではハードウェアの製造者がホーム画面やアプリのランチャーに独自のグラフィカルユーザーインターフェース(GUI) をインストールすることがあります。 tapAppIconMethod や tapAppIconMacro をプロファイルのパラメーターに設定することでアプリのアイコンをタップする際の動作を指定することができます。
参照 パラメーター.
tapAppIconMethod
設定値 | 説明 |
---|---|
auto | デフォルト。 AndroidではgooglePixel と同じ |
googlePixel | Google Pixelに最適化 |
swipeLeftInHome | ホーム画面を左にスワイプしながらアプリアイコンを探す |
tapAppIconMacro
自身で作成したマクロを指定することができます。
例
profiles
"profiles": [
{
"profileName": "Android/googlePixel",
"tapAppIconMethod": "googlePixel",
"capabilities": {
}
},
{
"profileName": "Android/swipeLeftInHome",
"tapAppIconMethod": "swipeLeftInHome",
"capabilities": {
}
},
{
"profileName": "Android/TapAppIconMacro1",
"tapAppIconMacro": "[TapAppIconMacro1]",
"capabilities": {
}
}
]
TapAppIconMacro.kt
(kotlin/macro/common/TapAppIconMacro.kt
)
package macro.common
import shirates.core.driver.TestDrive
import shirates.core.driver.branchextension.android
import shirates.core.driver.branchextension.ios
import shirates.core.driver.commandextension.*
import shirates.core.driver.wait
import shirates.core.macro.Macro
import shirates.core.macro.MacroObject
@MacroObject
object TapAppIconMacro : TestDrive {
@Macro("[TapAppIconMacro1]")
fun tapAppIconMacro1(appIconName: String) {
android {
it.pressHome()
it.flickBottomToTop()
if (it.canSelectWithScrollDown(appIconName)) {
it.tap()
.wait()
}
}
ios {
it.tapAppIcon(appIconName)
}
}
}
[TapAppIconMacro1]
マクロをテストコードで使用することができます。
it.macro("[TapAppIconMacro1]", "Calculator")
tapAppIcon関数をカスタマイズする
CustomObject を使用してtapAppIcon
の動作をカスタマイズすることができます。この方法はより実用的です。
-
src/test/kotlin
の配下の任意の場所にcustom
という名前のディレクトリを作成します。 -
TapAppIconCustomObject
という名前のクラスを作成します。 tapAppIcon
関数を実装します。
カスタム関数の例
package custom
import shirates.core.customobject.CustomFunction
import shirates.core.customobject.CustomObject
import shirates.core.driver.TestDrive
import shirates.core.driver.branchextension.android
import shirates.core.driver.branchextension.ios
import shirates.core.driver.commandextension.*
@CustomObject
object TapAppIconCustomObject : TestDrive {
@CustomFunction
fun tapAppIcon(appIconName: String) {
android {
it.pressHome()
it.flickBottomToTop()
if (it.canSelectWithScrollDown(appIconName)) {
it.tap()
.wait()
}
}
ios {
it.tapAppIcon(appIconName)
}
}
}
- プロジェクトをビルドします。
- tapAppIcon関数をテストコードで使用するとカスタマイズされた挙動となります。
it.tapAppIcon("Calculator")