当前位置: 首页 > 知识库问答 >
问题:

如何滚动到一个不在appium视口内的元素?

微生俊
2023-03-14

有什么更好的策略来处理这个问题呢?我们使用pagefactory模式,主要使用xpath、可访问性标签和id来标识元素。如果有帮助,测试中的应用程序是react原生应用程序。

共有1个答案

江睿
2023-03-14

我建议使用UiScrollable。

如果使用page对象模式和@AndroidFindBy注释,可以简单地放入:

@AndroidFindBy(uiSelector = "UiScrollable(\"className(\"android.widget.ScrollView\")\").scrollIntoView(resourceId(\"id_of_element_to_scroll_to\"))")
private MobileElement buttonOfTheScreen;

这里需要定义两个定位器:

    null
String locator = "UiScrollable(\"className(\"android.widget.ScrollView\")\").scrollIntoView(resourceId(\"id_of_element_to_scroll_to\"))";
driver.findElement(MobileBy.AndroidUIAutomator(locator)).click();
 类似资料:
  • 问题内容: 我有一个聊天小部件,每次向上滚动时,它都会拉出一系列消息。我现在面临的问题是,在加载消息时,滑块保持固定在顶部,我希望它专注于上一个数组中的最后一个索引元素。我发现可以通过传递索引来创建动态引用,但是我还需要知道要使用哪种滚动功能才能实现这一点 问题答案: React 16.8 +,功能组件 React 16.3 +,Class组件 类组件-Ref回调 不要使用字符串引用。 字符串引用

  • 我使用以下代码滚动到不可见的元素: 当我使用上述方法进行滚动时,出现以下错误:- 未知命令,除滚动外的所有移动命令都已删除。 在Appium 1.5.0中,名称定位器被删除 在java客户机v4.0.0中,和被弃用。 我使用的是xpath而不是。 什么是移动解决方案:滚动到

  • 问题内容: 我有一个具有静态高度和样式的元素中的搜索结果列表。我只想加载搜索结果的前x个(例如20个),并在用户滚动到包含搜索结果的元素的底部时加载另一个x个结果。 谁能向我解释我将如何做?我找到了一些示例,但所有示例都使用了整个文档的滚动值,而不是单个。我正在使用jQuery,如果有关系的话。 问题答案: 对我来说,听起来像是您想在滚动条即将结束时检测滚动条的位置。 在jquery组上四处搜寻时

  • 我在Scrollview中有Recyclerview 现在,滚动时,layoutStaticContent保持固定在顶部

  • 问题内容: 我有一个聊天小部件,每次向上滚动时,它都会拉出一系列消息。我现在面临的问题是加载消息时滑块固定在顶部。我希望它专注于上一个数组中的最后一个索引元素。我发现可以通过传递索引来创建动态引用,但是我还需要知道使用哪种滚动功能来实现这一点 问题答案: 单击此处,获得有关StackBlits的完整演示 React 16.3 +,Class组件 类组件-Ref回调 不要使用字符串引用。 字符串引用

  • 问题内容: 我正在尝试自动执行水平栏的滚动,其中水平栏的元素是动态的,并且可以从API中获取。 有没有一种方法可以在appium中使其自动化? 问题答案: 如果页面底部有任何元素或文本,则可以使用UiAutomator2。 如果您使用的是appium,请添加所需的功能’UiAutomator2’。 现在,如果您有元素的ID,请使用以下函数 如果您有元素的文本,请使用它。 如果您不知道botton中