2016-11-15 4 views
0

目的:すべてのゲストユーザのアクセスをクリックします。 私はこの要素を見つけることができません。Androidアプリケーションxpath(コンテンツ付き)desc - 改行を処理

uiautomatorviewerは次のスクリーンショットを示しています。 enter image description here

コンテンツの記述である を貼り付け、次のコピー/「 プロバイダがリストされていないすべてのゲストユーザーのアクセスは?、我々はすぐに多くのテレビプロバイダを追加していく予定お楽しみに。」

注意:ユーザーの後で改行します。これが私のxpathが機能していない理由だと私は信じています。

私のXPathは次のとおりです。 「//android.view.View[@content-desc = 『すべてのゲストusersProviderのアクセスリストに含まれていない、我々はすぐに多くのテレビプロバイダを追加していく予定乞うご期待?。』]」

上記のレイヤーのオブジェクトが同じクラスとインデックスを持つため、content-descではなくindexを使用することはできません。

特定のタップを使用すると問題は解決する可能性がありますが、それは良い解決策ではありません。その改行をどのように処理するかについてのアイディアは です。

+3

あなたは '/android.view.View[contains(@content-desc,'Access for all guest users) 'のようなcontainsを使用してみることができますか?] –

+0

私はすでに試してみました。動作しません。 – MMSA

答えて

2

XML階層に気付くと、要素がWebView(3番目のノードから上にある)にあることがわかります。それで、それは特定されていません。最初にWebViewに切り替えてからコードを使用する必要があります。

あなたがWebViewに切り替えると、xpathについて言及したやり方はうまくいくはずです。

+0

Anishさん、ありがとうございます。 WebViewに切り替えると、その特定のWebViewに切り替えるにはどうすればよいですか? これはフレームではありません。 driver.getContextHandles(); >> ??? – MMSA

+2

'Set contextNames = driver.getContextHandles(); for(String contextName:contextNames){ \t if(contextName.contains( "WEBVIEW")){ \t \t driver.context( "WEBVIEW"); \t \t break; \t} } –

+1

上記のcaseNamesは、[NATIVE_APP、WEBVIEW_ ]のようなものです。 WEBVIEWを持っているものに切り替えることができます –

関連する問題