2017-06-14 32 views
-1

我們試圖自動執行需要執行滾動操作但輕掃的方案& JavaScriptExecutor無法正常工作,對我們的問題有一點背景,測試中的應用程序是一個混合應用程序(本地& webview可用),我們正在使用IOS_Webkit_Debug_Proxy啓用web_view。 (我們不使用本地元素,因爲我們的應用程序是完全建立在web視圖上的)無法在iOS WebView中使用JavaScript執行器執行輕掃或滾動

嘗試了一些方法,如將web_view切換爲本地方法,反之亦然,但在兩種情況下使用JavaScript的driver.swipe方法或滾動應用程序執行程序不起作用。

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(); 
} 
相關問題