我面临的问题是uiautomatorviewer中未显示下拉列表元素。如何挖掘聚焦于appium的元素。无法选择appium中的下拉列表的值
虽然我具有由屏幕的getPageSource
并且存在还没有值被暴露表示移动应用屏幕上显示结果的检查XML DOM
XML代码段是如下: -
<android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout" package="com.demo.pass" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,145][540,196]" resource-id="com.demo.pass:id/frameSearchLocation" instance="6">
<android.widget.EditText index="0" text="Bryson City" class="android.widget.EditText" package="com.demo.pass" content-desc="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="true" scrollable="false" long-clickable="true" password="false" selected="false" bounds="[30,145][510,196]" resource-id="com.demo.pass:id/autoCompleteSearchTextView" instance="0" />
<android.widget.ImageView NAF="true" index="1" text="" class="android.widget.ImageView" package="com.demo.pass" content-desc="" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[457,148][502,193]" resource-id="com.demo.pass:id/imgCurrentLocation" instance="0" />
</android.widget.FrameLayout>
在第二个想法中,我尝试了键盘操作。我可以导航到使用下面的代码
ad.pressKeyCode(20);
但我无法挖掘值。我已经尝试了大部分的事情。如: -
ad.pressKeyCode(66); // Press Enter
而且
TouchAction action = new TouchAction(ad);
action.perform();
由于没有存在于DOM为下拉值没有定位器,我无法通过在上面的代码的元素。
至于有名称框我也尝试使用下面的代码进行切换: -
ad.switchTo().frame(ad.findElement(By.xpath("com.demo.pass:id/frameSearchLocation")));
uiautomatorviewer屏幕: -
请建议我应该在这种情况下做的。 任何解决方案/建议将不胜感激。
这是一个混合的应用程序?在这种情况下,可能会使用switchingContext来帮助您找到元素。 http://appium.io/slate/en/master/?java#automating-hybrid-apps – nullpointer
nup it is build on java android .. –
您所访问的上下文看起来并不完全是本机的。在此屏幕上,您是否可以尝试获取contextHandles来检查appium列出的内容。它可以更好地证明可用的上下文,以及是否需要切换。 – nullpointer