2012-03-22 6 views
1
私は私の最初のUIオートメーションスクリプトに取り組んでいると、以下のdeactivateAppForDurationラインでの障害に遭遇しています

iOSのUIオートメーションdeactivateAppForDuration失敗

// Verify password field is shown when app is moved to the foreground 
UIALogger.logMessage("move app to background"); 
target.deactivateAppForDuration(10); 
UIALogger.logMessage("move app to foreground"); 

私は楽器から取得するエラーは次のとおりです。

Script threw an uncaught JavaScript error: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().switcherScrollView().buttons()["TimeClock"]

テストデバイスに表示されるのは、アプリがバックグラウンドに切り替えられ、iOSアプリのスイッチャーが表示されていることです。私は自分のアプリ(TimeClock)を見ることができます。エラーメッセージとデバイスの画面の両方から表示され、UI Automationがフォアグラウンドへの移行のために自分のアプリケーションを選択できません。

他に誰かがこの問題を抱えていますか?回避策はありますか?

ありがとうございました。

答えて

1

私はあなたのコードを試して、ここでうまくいきます。新しいインストゥルメントファイルで次のコードを実行した場合(それ以外は何もありません)、それは機能しますか?

var target = UIATarget.localTarget(); 
UIALogger.logMessage("move app to background"); 
target.deactivateAppForDuration(1); 
UIALogger.logMessage("move app to foreground"); 

ご注意:インスツルメンツはないは常にあなたエラーが発生した正確を示すあります。時にはそれが表示している行の上または下の数行です。 しかし、の理由なぜエラーが発生したのですか。私はあなたがスプリングから戻って来た後、呼び出していると思うことを、あなたはこの行にバグがあることを認める:

Script threw an uncaught JavaScript error: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().switcherScrollView().buttons()["TimeClock"] 

あなたは要素switcherScrollView().buttons()["TimeClock"]アプリ内に存在してもよろしいですし、アクセス可能ですか?

+2

この場合、 'switcherScrollView()'はデバイスでのスイッチャーコントロールを表し、アプリケーションではありません。 'switcherScrollView()。buttons()[" TimeClock "]'は、自分のアプリのアイコンをアプリのスイッチャーに表示します。 – Darc

1

私は同じ問題がありました。私のデバイスをリブートすると、私のためにそれを解決しました。

+0

この場合はシミュレータを再起動しますが、それも私のために機能しました。 –

関連する問題