Nam*_*man 9 automation webview appium reactjs react-native
我一直在使用Appium来测试混合Android应用程序,包括NATIVE和WEBVIEW上下文之间的频繁转换.这些Web视图是使用React Libraries开发的.
根据我的理解并纠正我,如果我错了,React Works 是如何使用真实DOM创建一个虚拟DOM并生成一个与javascript中相应的动态类名.该DIFF算法提供了有效的方法来区分使用这些自动生成的类名称的对象.
我面临的问题是使用Appium我无法使用任何findElementsBy
方法访问这些webview中的元素.在生成的每个新构建上,React都会更改类名,这个参数对于我们真正可以依赖的UIAutomator是唯一可见的参数.
- 有没有办法让我可以使用React库本身将这些自动生成的类名重构为一些合理的名称?
该铬检查提供了我的应用程序中的WebView的详细信息:
<div class="_32f8NoUfyUtNSxo3w4Ptbp" data-reactid=".0.1.$=13:0.0.0">…</div>
Run Code Online (Sandbox Code Playgroud)
- 关于如何使用Appium访问实际DOM元素的任何想法?
信息:WebView.setWebContentsDebuggingEnabled(true)
在应用代码中设置.
非常感谢这里的任何线索.
基于此链接:https : //github.com/facebook/react-native/issues/7135
此问题的解决方法:在您的视图中同时使用可访问和可访问标签
关于可访问性标签的文档:https : //facebook.github.io/react-native/docs/accessibility.html#accessibilitylabel-ios-android
在我的本机组件上:
<TextInput accessible={true} accessibilityLabel={'Tap Me'}></TextInput>
Run Code Online (Sandbox Code Playgroud)
在我的脚本测试中:
mobileElement = find_Element(accessibilty_id, "Tap Me")
mobileElement.send_keys "hello world"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2031 次 |
最近记录: |