
AppiumでAndroidを操作する場合、安定化させるのが難しいのがカレンダー(日付入力)部分。ググっても似たような問題をよくみかけます。対策としてswipeが目立つけど、KeyEventを使ったほうが安定するかもしれません。
KeyEventとは
Android上でのキー操作を抽象化したもの。詳細はこちらのページに書かれていて、KEYCODE_DPAD_UP(19)とKEYCODE_DPAD_DOWN(20)を使えば上下にカーソルを動かせるので、日付設定で難しいカレンダーの年指定も簡単に。
# Ruby
driver.press_keycode(19)
driver.press_keycode(20)
回避策として目立つのがSwipeを使ったスクロールだけど、それは多用したら不安定になっちゃうイメージ。なぜなら、機種によってしゅいーんとスクロールしてしまったり、スクロールさせる距離を揃えるのが難しい。
なので、Key操作でなんとかするのは結構ありなんじゃないかなと。