私は、ドロップダウン値の要素が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それはJavaのアンドロイドでビルドされています.. –
あなたがアクセスしているコンテキストは、その外観から完全にネイティブではないようです。この画面では、contextHandlesを取得して、appiumによってすべてがリストされているかどうかを調べることができますか?利用可能なコンテクストのより良い証拠を提供し、スイッチが必要であるか否かを証明する。 – nullpointer