2017-12-15 16 views
0

私のAndroidアプリは3つの実行時アクセス権を要求します。テスト中にパーミッションを許可するには、ノードJSでWd-Androidを使用してクリックを実行しています。Wd-Androidが次回警告ダイアログを開く前に待機する

var wdAndroid = new WdAndroid(wd); 
driver = wdAndroid.promiseChainRemote(appiumServer); 
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click(); 
driver.elementById('com.android.packageinstaller:id/permission_allow_button').waitForLinearLayout().click(); 
driver.elementById('com.android.packageinstaller:id/permission_allow_button').waitForLinearLayout().click(); 

許可アラートダイアログが表示されるので、最初のクリックは正常に機能しますが、残りの2回のクリックは機能しません。私の前提は、ダイアログがビューを切り替えて2番目と3番目の許可を求めるのに時間がかかるということです。

コールバックを待機させる方法があるかダイアログが次のアクセス許可のコンテキストを変更するまで強制的にフローを待たせる機能があります。

答えて

0

アプリがこれを試してみてください再び

を集中得るために0秒の背景にアプリを送信してくださいでした:私は受け入れるかとき私は...また、ダイアログに問題があった

driver.elementById('com.android.packageinstaller:id/permission_allow_button').click(); 
driver.runAppInBackground(0) 
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click(); 
driver.runAppInBackground(0) 
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click(); 
driver.runAppInBackground(0) 

私のドライバをもう一度使用してテストを再開できるようにするには、このトリックをやらなければなりません... 希望すると助かります

関連する問題