前戯
ズームのために、我々はスライド式フロントは、例えば、地図ズーム十分ではありません使用し、ここでは、マルチタッチを使用する必要があります。
MultiActionクラスは、マルチタッチ、マルチタッチ操作は、主に、以前ActionTouch指スライド効果の複数の操作をシミュレートすることができる学んだと方法2、MultActionが組み合わされてもよい)((ADD)および実行を含む、シミュレートすることが可能です
appium.webdriver.common.touch_actionのインポートTouchAction から appium.webdriver.common.multi_action インポートMultiActionの :ローディング 追加(セルフ、:方法 * MultiAction TouchActionにオブジェクトを追加するtouch_action)、そしてその後、実行 パラメータ:touch_action一つ以上TouchActionオブジェクト、チェーンディスクリプタ指操作を実行する 使用: A1 = TouchAction(ドライバ) a1.press(EL).move_to(E2).release() A2 = TouchAction(ドライバ) a2.press(E3).move_to(E4 ).release() MultiAction(ドライバ)()(A1、A2).performを.add
の原理を説明スライド
(ズーム)増幅:各指をB> A、C> Dから外側に拡大ページを移動させながら
還元(ピンチ):指が同時にA> Bからページを減らしている、D> Cは中間に移動します
リアル
appiumのインポートwebdriverを から appium.webdriver.common.touch_actionのインポートTouchAction から appium.webdriver.common.multi_actionのインポートMultiAction desired_caps = {}は [desired_caps ' platformNameを' ] = ' アンドロイド' desired_caps [ ' DEVICENAME ' ] = ' 127.0.0.1: 62001 'の desired_caps [ ' platforVersion ' ] = ' 5.1.1 ' desired_caps [ 'アプリ' ] = R ' F:\アプリ\ com.baidu.BaiduMap.apk ' desired_caps [ ' appPackage ' ] = ' com.baidu.BaiduMap ' desired_caps [ ' appActivity ' ] = ' com.baidu.baidumaps.WelcomeScreen ' ドライバ = webdriver.Remote(' のhttp:// localhostを:/ハブ4723 / WD ' 、desired_caps) driver.implicitly_wait( 10 ) X = driver.get_window_size()' 幅' ] Y = driver.get_window_size()'高さ' ] driver.find_element_by_android_uiautomatorの\ (' UiSelector新新()テキスト( "マップ入力してください")。" ).click() DEFピンチ(): #の定義限定機能 アクション1 = TouchAction(ドライバ) #最初のジェスチャー アクション2 = TouchAction (ドライバ) #第ジェスチャ pinch_action = MultiAction(ドライバ) action1.press(X = 0.2 * X、Y = 0.2 * Y).WAIT(1000).move_to(X * X = 0.4、Y = 0.4 * Y ) .release() action2.press(X = 0.8 * X、Y = 0.8 * Y).WAIT(1000).move_to(X * X = 0.6、Y = 0.6 * Y ).release() pinch_action.add(アクション1、アクション2) #ローディング pinch_action.perform() #実行 #は増幅機能定義 DEF )ズーム(: アクション1 = TouchAction(ドライバ) #第1のジェスチャー アクション2 = TouchAction(ドライバ) #第ジェスチャ zoom_action = MultiAction(ドライバ) action1.press(X 0.4 * X = Y = 0.4 * Y).WAIT(1000).move_to(X * X = 0.2、Y = 0.2 * Y ).release() action2.press(X = 0.6 * X、Y = 0.6 * Y ).WAIT(1000).move_to(X * X = 0.8、Y = 0.8 * Y ).release() zoom_action.add(アクション1、アクション2) #1 ローディング zoom_action.perform() #実行 IF __name__== ' __main__ ' : 用 I における範囲(3): #は3リダクション機能を実行する ピンチ() のために I 中(3レンジ:) ズーム()