使用 Appium、wd 和 React Native 滚动到一个元素

Posted

技术标签:

【中文标题】使用 Appium、wd 和 React Native 滚动到一个元素【英文标题】:Scroll to an element with Appium, wd and React Native 【发布时间】:2021-10-26 12:35:47 【问题描述】:

我正在尝试向下滚动到我的 react 本机集成测试中的一个按钮。我正在使用 appium 版本 1.21.0、UiAutomator2 和 wd 在 android 模拟器上运行测试,但找不到滚动测试的方法。有没有办法用js、wd和appium实现滚动?

【问题讨论】:

【参考方案1】:

这是我们用来进行滚动的一些代码。 ios 和 Android 的技术不同:

const element = driver.waitForElementById(...);

if (platformIsIOS()) 
  await driver.execute("mobile: scroll", 
    element,
    direction: distY <= 0 ? "down" : "up",
  );

 else 
  let action = new wd.TouchAction(driver);
  action.press( el: element, x: fromX, y: fromY );
  action.wait(Timeouts.Default);
  action.moveTo( el: elementName, x: fromX + distX, y: fromY + distY );
  action.release();
  for (let i = 0; i < repeatTimes; i++) 
    await action.perform();
  

【讨论】:

以上是关于使用 Appium、wd 和 React Native 滚动到一个元素的主要内容,如果未能解决你的问题,请参考以下文章

appium 自动化测试框架详读

SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。 (14:4) 在 react nati

使用 Appium 进行测试时,Webview 上下文不再显示

appium 3-31603调试分析方法

Appium 与 A​​ndroid 模拟器代理问题

robotframework + appium实例