メディア プレーヤーの機能をテストする必要があります。問題はありませんが、スライダー ハンドラーをドラッグ アンド ドロップして現在のトラックの再生位置を変更する方法がわかりません。
関数を試しchange_slider_value_to
ましたが、うまくいきません。
実行するquery "slider"
と空のセットが返されますが、実行すると次のようquery "GFSliderView"
に返されます。
irb(main):014:0> query "GFSliderView"
[
[0] {
"class" => "GFSliderView",
"id" => nil,
"rect" => {
"center_x" => 160,
"y" => 73,
"width" => 176,
"x" => 72,
"center_y" => 81.5,
"height" => 17
},
"frame" => {
"y" => 9,
"width" => 176,
"x" => 72,
"height" => 17
},
"label" => nil,
"description" => "<GFSliderView: 0x1280db60; frame = (72 9; 176 17); autoresize = W+TM+BM; layer = <CALayer: 0x1280da90>>"
}
]
calabash-androiddrag
やdrag_coordinates
iOS のようなことを行う方法はありますか?
これらのコマンドを試しました:
send_uia_command :command => "dragFromToForDuration({startOffset:#{from}, endOffset:#{to}, duration:4});"
(はfrom
スライダー ハンドラーの実際の位置で、値を増やした場合)to
from
center_x
uia('target.mainWindow().sliders()[0].dragToValue(0.5);')
change_slider_value_to "SliderHandle.png", 0.2
map("GFSliderView", :changeslider, 0.2)
(10、0.8、100 などの他の値でも試しました)
それらのどれも機能しませんでした-シミュレーターでアプリのクラッシュを引き起こしたものもあれば、コンソールがスタックしただけのものもありました。
私は Calabash の使用にあまり詳しくありません (ほぼ 2 か月間使用しています)。また、アプリの開発と UIA コマンドについて何も知らないため、愚かな間違いを犯した可能性があります。