【发布时间】:2016-02-29 12:08:08
【问题描述】:
我一直在使用 Appium 测试一个混合 android 应用程序,包括在 NATIVE 和 WEBVIEW 上下文之间频繁转换。这些 Webview 是使用 React 库开发的。
据我所知,如果我错了,请纠正我,How React Works 是它使用真实 DOM 创建一个虚拟 DOM 并生成一个 对应于javascript中的动态类名。 Diff Algorithm 提供了区分对象的有效方法 使用那些自动生成的类名。
我面临的问题是,使用 Appium 我无法使用任何 findElementsBy 方法从这些 webview 访问元素。类名是唯一对我们可以真正依赖的 UIAutomator 可见的参数,React 在生成的每个新构建时都会更改该类名。
- 有没有办法让我可以使用 React 库本身将这些自动生成的类名重构为一些合理的名称?
chrome inspect 在我的应用程序中提供 web 视图的详细信息:
<div class="_32f8NoUfyUtNSxo3w4Ptbp" data-reactid=".0.1.$=13:0.0.0">…</div>
- 对于在这种情况下如何使用 Appium 访问实际 DOM 元素有什么想法吗?
信息:WebView.setWebContentsDebuggingEnabled(true) 在应用代码中设置。
也将不胜感激这里的任何线索。
【问题讨论】:
-
@DanielSchmidt :关于视图的编译结束,我没有太多上下文。将尽快提供详细信息。
标签: webview reactjs automation react-native appium