2016-09-23 6 views
2

オートメーションフレームワークを更新する作業が私に負担をかけました。私はiOSテストを初めて行ったので、Appium-1.6.0-beta1の新しいXCUITESTドライバに問題があります。XCUITESTドライバを使用してAppiumでxpathで要素を検索する

私はドライバーを稼働させていますが、大半の要素はフレームワーク内のxpathを使って配置されています(ほとんど理想的ではありません)。大半の要素にラベル、名前、アクセシビリティタグはありません。したがって、現在のところ、名前ロケータは要素の90%が除外されています。

XPathには古いリンゴのフレームワーク(UIAutomation)に食料調達しているように見えると、次のようになります。

//UIAApplication[1]/UIAWindow[4]/UIAAlert[1]

私はこのようなsoemthing試してみました:

//XCUIApplication[1]/XCUIElementTypeWindow[4]/XCUIElementTypeAlert[1]

これらを運がないとdriver.find_element(:xpath, xpath_value)に渡されます。私はこれに関するドキュメントを見つけることができないようで、appiumディスカッションフォーラムではほとんど成功しませんでした。

誰かが実例やドキュメントを指摘できますか?これを行うためのよりよい方法はありますか?

すべての入力は本当に役立ちます!

おかげで、 ピーター

+0

それを使用している方法を使用することができますを起動せずインスペクタボタンをクリックして、なぜ特定の理由があります問題の要素にアクセシビリティタグを追加することはできませんか? –

+1

私はdevを制御することができず、アプリケーションの巨大なサイズのために長いプロセスになります。私は特定の要素のためのxpathsにつかまっています – pmck

答えて

4

ないXCUI要素のすべてがUIAutomatorから直接転送されています。私が使用している方法は、あなたが必要なのXPathせずにテストを実行することであり、あなたが画面上に開いたときにあなたが行く希望:

System.out.println(driver.getPageSource());

そして、それは希望のアイテムを取得するためにそのXMLを読み込むの問題です。はるかに面倒ですが、1.6BetaXのappiumインスペクタがないと、XCUI階層を取得する方法を知っている唯一の方法です。少しの回避策で

+1

これは働いた!乾杯。 – pmck

+0

サードパーティのソフトウェアがあります。これは、https://github.com/mykola-mokhnach/Appium-iOS-Inspectorなど、これを簡単にする可能性があります。私は個人的には試してみる機会がありませんでしたが、価値があるかもしれません。印刷ページソースとして長いプロセスです。 – JaysonP

0

、あなたが媒体上で、このリンクのステップ1を実行しますAppiumバージョン1.6で使用するためのビュー要素のXPathを見つけるために、古いグラフィックappiumを使用することができます。 The good old Appium inspector, with a bit workaround

0

JaysonP作品によって、上記の回答しかし、まだappiumのインスペクタを使用する方法があります。

    あなたが与える、アプリケーションパスをターミナル/コマンドライン
  1. オープンappiumのGUIアプリケーションから(appium 1.6.xの)を使用しているが、それをGUIで
  2. を実行しないでください
  3. 実行appium
  4. ていることを確認しますGUIバージョンとターミナルで実行しているバージョンの両方が同じポートを使用しています。もう一度、GUI
  5. からappiumを起動しないでくださいappium
  6. インスペクタウインドウを開くべきとあなたが以前
関連する問題