2017-01-18 17 views
0

iOSシミュレータでアプリをテストするには、xamarin calabash-sandbox(calabash-ios 0.20.4)を使用しています。アプリケーションが画面上にあるとき、query( "label"、:text)は期待されるオブジェクトを見つけます。 [0] "Learn More", [1] "Skip"iOSが画面に表示されません。

私がアプリの詳細ボタンを押すと、Safariがポップアップして、期待されるウェブページを表示します。ただし、アプリケーションが表示されなくても、上記のクエリは同じ結果を返します。ドキュメンテーションによると、気まぐれは目に見えるオブジェクトだけを見つけるべきです。

実際には、アプリを画面からどのように外しても、クエリはアプリの画面にあるオブジェクトを検出します。ホームボタンを押すか別のアプリを起動しても、同じオブジェクトが検索されます。これはバグですか、または目立つオブジェクトを見つけ出すだけに気をつける方法がありますか? FYI

、ひょうたん - アンドロイド

答えて

0
# Queries your application - the Application Under Test 
query("label", :text) 

に正しく上記作品のSafariのWebビューコントローラは、アプリケーションの一部ではありません。あなたは(たとえば、クエリを含む)DeviceAgent APIはhereある

# Return a list of visible views 
device_agent.query({ }) 

# Return a list of all views 
device_agent.query({all: true}) 

DeviceAgentクエリやジェスチャーを使ってSafariのウェブビューコントローラと対話しようとすることができます。

+0

お返事ありがとうございます。申し訳ありませんが、わからない場合は、Safariにクエリを実行しようとしていないため、私のアプリが見えなくなったことを確認しようとしていました。これを行うために、前回と同じクエリを使用しました。これは、アプリが画面に表示されていないため結果を返さないはずです(Safariは代わりに画面に表示されます)。しかし、私のアプリが画面上にあるのと同じ結果を返しました。それが問題です。私は何かを誤解しているかもしれませんが、私のアプリが見えない場合、私は何も返さないとクエリを期待していました。 – JSacco

+0

私はあなたの質問を今理解しています。私は、LPServerがSafariWebViewが表示されていることを今まで知ることができないかどうかはわかりません。この問題を調査するには、calabash-ios-serverの問題を開いてください。 "私のアプリは見えません"のプロキシとして、私はSafari WebViewが見えるかどうか尋ねてみることをお勧めします。 – jmoody

+0

私は提案を感謝し、私はその時を追求します。 SafariWebViewが表示されていることをLPServerに知らせるのではなく、自分のビューが表示されていないことを知っている必要があります。ドキュメントでは、既定では表示可能なビューのみが返されると明示しています。その意味はどういう意味ですか? – JSacco

関連する問題