2017-06-14 12 views
-1

スクロール操作を実行する必要があるシナリオを自動化しようとしていますが、スクロール& JavaScriptExecutorが動作していません。ハイブリッドアプリケーションです(ネイティブ& webviewが利用可能です)。また、web_viewを有効にするためにIOS_Webkit_Debug_Proxyを使用しています。IOS WebViewのJavaScript Executorを使用してスワイプまたはスクロールを実行できません

JavaScriptのExecutorを使用してdriver.swipeメソッドまたはscrollアプリケーションが動作していない場合でも、web_viewをネイティブに、またはその逆に切り替えるような方法がいくつか試されています(ネイティブエレメントは使用していません)。 。

DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, 
configuration.getProperty(MobileCapabilityType.PLATFORM_NAME)); 
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, configuration.getProperty(MobileCapabilityType.PLATFORM_VERSION)); 
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,configuration.getProperty(MobileCapabilityType.DEVICE_NAME)); 
capabilities.setCapability(MobileCapabilityType.UDID, configuration.getProperty(Constants.UDID));capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT,8000); 
capabilities.setCapability(MobileCapabilityType.APP, System.getProperty("user.dir") + configuration.getProperty(Constants.APP_IOS));  
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST); 
capabilities.setCapability(MobileCapabilityType.AUTO_WEBVIEW, true); 
capabilities.setCapability("autoAcceptAlerts", true); 
String urlString = new 
StringBuffer(configuration.getProperty(Constants.PROTOCOL)).append("://".append(configuration.getProperty(Constants.HOST_NAME)).append(":").append(configuration.getProperty(Constants.PORT)).append("/wd/hub").toString(); 
driver = new IOSDriver(new URL(urlString), capabilities); 
driver.manage().timeouts().implicitlyWait(Constants.TIMEOUT_IN_SECONDS,TimeUnit.SECONDS);' 


JavaClient: 4.1.2 
Appium: 1.6.4 
IOS_Webkit_Debug_Proxy 
IOS version: 10.2 

のXcode:8.3.2 物理デバイス あなたはより多くの細部を必要とし、我々は軌道に乗るために解決策または回避策を必要とするプロジェクトの途中であるなら、私に教えてください。

答えて

0

JavaクライアントからTouchActionクラスを使用してみましたか?

これはあなたを助けることがあります。

public void swipeWithTouch(){ 

    TouchAction action = new TouchAction((MobileDriver)driver); 
    action.longPress(fromX, fromY).moveTo(toX, toY).release().perform(); 
} 
関連する問題