【问题标题】:How to end the scroll action using appium driver in jav?java - 如何在jav中使用appium驱动程序结束滚动动作?
【发布时间】:2015-09-15 12:04:25
【问题描述】:
  1. 我正在使用 appium 和 java 为 iOS 应用编写自动化测试用例。
  2. 我需要做滚动动作,我已经尝试使用下面的代码进行滚动动作。
  3. 我需要滚动到特定的 web 元素,然后我需要断言该特定元素。
  4. 下面的代码滚动到页尾,到达页尾后,它会尝试向下滚动,所以会抛出错误消息。
  5. 我不知道如何结束滚动动作,如果存在特定的网页元素意味着我需要结束滚动动作。

     while(AppiumHelper.isElementPresent(driver,By.name("Comment")) == false){
            System.out.println("1......");
               WebElement element = driver
                       .findElementByName("save_button");                       JavascriptExecutor js = (JavascriptExecutor) driver;
               HashMap<String, String> scrollObjects = new HashMap<String, String>();
               scrollObjects.put("direction", "down");
               scrollObjects.put("element",
                       ((RemoteWebElement) element).getId());
    
               js.executeScript("mobile: scroll", scrollObjects);
    
             }
    

【问题讨论】:

  • 我不确定谁在 javascript 中工作,但在 java 中你可以简单地使用 scrollTo() 方法或 TouchAction 类。
  • @Gaurav,是的,我知道 scrollTo() 和 scrollExact() 方法,但它仅适用于单击特定文本的上下文。我想向下滚动到特定的网络元素。
  • 是的,你可以使用 TouchAction 类
  • @Gaurav,如果特定元素在该页面视图上不可见,我该如何使用触摸操作。
  • @Gaurav,好的,谢谢您的回复

标签: java ios scroll appium


【解决方案1】:

您可以使用 Xpath 来定位该页面/层次结构上的最后一个对象。 可以生成最后一个元素的 xpath -

("Your_Object_Xpath")[1]/../*[last()]

将此对象的可见性作为滚动循环的中断参数。

【讨论】:

    猜你喜欢
    • 2020-12-17
    • 2015-11-12
    • 1970-01-01
    • 2015-09-01
    • 2020-03-30
    • 2018-05-16
    • 2020-11-04
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多