【问题标题】:"An unknown server-side error occurred while processing the command" while doing scroll down using Appium使用 Appium 向下滚动时出现“处理命令时发生未知的服务器端错误”
【发布时间】:2015-01-19 10:47:34
【问题描述】:

我使用以下代码向下滚动

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();,因为要将我的脚本与酱实验室连接

一切正常,但是当我尝试滚动它时出现错误

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

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

【问题讨论】:

  • 如果使用 JavaScript 无法正常工作,为什么不使用原生 Action API? WebElement Slider = driver.findElement(By.xpath("//*[@id='slider-range']/a[1]"));动作 moveSlider = new Actions(driver);动作 action = moveSlider.dragAndDropBy(Slider, 30, 0).build(); action.perform();
  • OR Actions dragger = new Actions(driver); WebElement draggablePartOfScrollbar = driver.findElement(By.xpath("滑块的xpath")); int numberOfPixelsToDragTheScrollbarDown = 5000; dragger.moveToElement(draggablePartOfScrollbar).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown).release().perform();

标签: java android appium


【解决方案1】:

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

确保您的滚动对象可见并且没有任何东西覆盖它。您总是可以使用fluent wait 给任何其他元素时间来完成他们正在做的事情并让开。

【讨论】:

    【解决方案2】:
    WebElement element = driver.findElement(By.id("my-id"));
    Actions actions = new Actions(driver);
    actions.moveToElement(element);
    // actions.click();
    actions.perform();
    

    【讨论】:

      【解决方案3】:

      我使用相同的代码滚动只是更改元素“elementToScroll”。我使用了可滚动值为“true”的元素

      【讨论】:

      • 请使用更新的工作代码为您编辑您的答案。它会帮助某人:-)
      • @Swapnil 我使用了相同的代码,只是更改了可滚动为真的元素
      猜你喜欢
      • 2016-02-04
      • 1970-01-01
      • 2018-07-26
      • 2019-03-25
      • 2019-12-16
      • 2017-01-22
      • 1970-01-01
      • 2017-05-07
      • 2017-10-21
      相关资源
      最近更新 更多