2017-11-06 17 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 멀티 = 새로운 MultiTouchAction (드라이버)는 구현되지 않았다; TouchAction action0 = 새 TouchAction (드라이버) .tap (요소); multiTouch.add (action0) .perform(); 실제로 우리는 linktext를 사용하여 모바일 웹 브라우저에서 링크를 클릭하려고 시도하지만 텍스트가 너무 작아 클릭이 제대로 작동하지 않습니다. 그래서 우리는 브라우저를 확대하고 그것을 클릭하려고합니다. – alk1985