检查WebView元素时出现UiAutomator错误

3
我最近开始在Android上进行自动化测试,并使用UiAutomator工具检查UI元素。令人惊讶的是,在相同的屏幕和设备[Genymotion MotoX 4.4.4]中,Webview元素有两个不同的响应。附上了相同的截图。我们都知道,appium无法检查未将“setWebContentsDebuggingEnabled”设置为true的Webview元素。这是UiAutomator的错误吗?显示Webview子元素的屏幕

Screen without WebView children

1个回答

3
我们都知道,appium在检查未将“setWebContentsDebuggingEnabled”设置为true的webview元素时存在问题。这是UiAutomator的一个实现问题,而不是bug。除非将“setWebContentsDebuggingEnabled”设置为“true”,否则无法调试或访问webview中的任何元素。引用developers.android.com的话:“void setWebContentsDebuggingEnabled(boolean enabled)”启用此应用程序中加载到任何WebViews中的Web内容(HTML / CSS / JavaScript)的调试。可以启用此标志以便于调试运行在WebViews内部的Web布局和JavaScript代码。请参阅WebView文档以获取调试指南。默认值为false。您可能也会对以下内容感兴趣:

迁移到Android 4.4中的WebView


感谢 @Nullpointer 的回答,但我关心的是我无法访问应用程序的源代码。首先,我们只测试 APK。因此,我们现在无法设置任何标志。其次,我们通过 UiAutomator 接收到各种元素。当我说 BUG 时,我指的是 UiAutomator 而不是 Appium :) - Rashmi.B
@Rashmi.B:嗯,我不认为这是一个bug,所以如果你认为是的话,你必须在代码上证明。因此,如果你能在更新的问题中展示一些关于UIAutomator实现的研究,那就太好了。 - Naman
@DiegoTorresMilano:根据我的理解,你所说的与OP的问题不同。 - Naman
@Rashmi.B:如果你的意思是这样,而且“同一应用程序”也指的是在两种情况下都有setWebContentsDebuggingEnabled=true的应用程序。那么肯定可能是一个错误。【假设设备也相同】 - Naman
2
虽然这个回答很有趣,但它并没有解决问题的关键。屏幕截图清楚地显示了UI Automater bug。我之所以来到这里,是因为正是因为这种行为,我将会测试genymotion。 - JoshuaTree
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接