2017-11-06 5 views
0

私のプロジェクトでは、Appiumオートメーションを使用してAndroid Mobileモバイルのアクションをズームする必要があります。私は以下の方法を使用しました。Appiumを使用してモバイルウェブをズームする方法

try { 
     Dimension size = driver.manage().window().getSize(); 
     int x0 = (int) (size.getWidth()*0.5); 
     int y0 = (int) (size.getHeight()*0.5); 
     System.out.println(x0+" "+y0); 
     driver.zoom(100, 500); 
     reportStep("The Application is zoomed.", "PASS"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     reportStep("The Application could not be zoomed.", "FAIL"); 
    } 

しかし、この方法はモバイルアプリでうまく動作し、モバイルウェブでは動作しません。 モバイルウェブのズームを処理するための具体的な方法や代替方法はありますか?

私はAppium Javaクライアントバージョン5.0.4とSeleniumバージョン3.6.0を使用しています。

ズームとピンチ方法は最新バージョンでは使用できません。

答えて

0

あり、多くの例がそこzoom方法がないわけではないが、hereを示すようTouchActionクラスと併せてMultiTouchActionクラスを使用して動作するはずです。 moveToWebElementを使用し、絶対値ではなくオフセットx、y座標を使用することに注意してください。

driver = new AndroidDriver(new URL(nodeURL), capability); 

    TouchAction touchAction = new TouchAction(driver); 
    MultiTouchAction multiTouchAction = new MultiTouchAction(driver); 

    WebElement search = (WebElement) driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().resourceId(\"com.google.android.apps.maps:id/search_omnibox_container\")")); 
    touchAction .tap(search).perform(); 

     int leftX = search.getLocation().getX(); 
     int rightX = search.getSize().getWidth() + leftX; 


     int upperY = search.getLocation().getY(); 
     int lowerY = search.getSize().getHeight() + upperY; 

     a1 = touchAction.press(search,x1,y1).waitAction(2000).moveTo(search,x3,y1).release(); 
     a2 = touchAction.press(search,x2,y1).waitAction(2000).moveTo(search,x4,y1).release(); 

     multiTouchAction.add(a1).add(a2).perform(); 

また、ズームのためmoveTo

+0

上記のコードは動作していないにAppiumを使用してモバイルウェブブラウザをオフセットX、Y座標を通過させるためappiumマルチタッチ用herehere見えます。 次のエラーが発生しています。 メソッドはまだ実装されていません コードスニペットはこちら MultiTouchAction multiTouch = new MultiTouchAction(driver); TouchAction action0 =新しいTouchAction(ドライバ).tap(要素)。 multiTouch.add(action0).perform(); 実際には、モバイルウェブブラウザのリンクをlinktextを使用してクリックしようとしていますが、テキストが非常に小さく、クリックが適切に機能していません。そこで、ブラウザをズームしてクリックしようとしています。 – alk1985

関連する問題