"处理命令时出现未知的服务器端错误"使用Appium向下滚动时

时间:2015-01-19 10:47:34

标签: java android appium

我使用以下代码向下滚动

WebElement elementToScroll = driver.findElement(By.id("id"));
scrollDown(elementToScroll, "Max Notifications Per Instance", driver);
((JavascriptExecutor ) driver).executeScript ("mobile: scroll", :direction => 'down');           
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) elementToScroll).getId());
scrollObject.put("text", elementToScroll.getText()); 
js.executeScript("mobile: scroll", scrollObject);

在设置中我已将WebDriver driver更改为driver = new RemoteWebDriver();,因为要将我的脚本与酱实验室联系起来

一切正常但当我尝试滚动它的给出错误时

  

处理命令时发生未知的服务器端错误。 (警告:服务器未提供任何堆栈跟踪信息)(..)

如果我在这里做错了,请告诉我。

3 个答案:

答案 0 :(得分:2)

WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
// actions.click();
actions.perform();

答案 1 :(得分:2)

我在使用Appium编写自动化测试时遇到了未知的服务器端错误,这通常是由于页面上的元素 - 如日期选择器或自动完成菜单 - 妨碍了您尝试的元素点击。

确保您的滚动对象可见,并且没有任何重叠。您总是可以使用fluent wait为任何其他元素提供时间来完成他们正在做的事情并让他们离开。

答案 2 :(得分:0)

我使用相同的代码滚动更改元素&#39; elementToScroll&#39;。我使用了可滚动值为&#39; true&#39;

的元素