Skip to content

Commit cac25c9

Browse files
committed
Fix a logic of waiting for closing a dialog
1 parent 3efecf1 commit cac25c9

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

ProxyDialogAutoFiller/ProxyDialogAutoFiller.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,26 +182,25 @@ internal static void LoginToProxy(RuntimeContext context, AutomationElement targ
182182
// ユーザー名、パスワードに誤りがあった場合などに、短時間で連続してダイアログの表示とOKが繰り返され、ユーザーが対処できなくなる可能性がある。
183183
// そのため、ダイアログが表示されている場合、ここで15秒間待機し、ダイアログが閉じられなかった場合にユーザーがキャンセルや正しいユーザー名
184184
// パスワードが入力できるようにする。
185-
for (int i = 0; i < 15; i++)
185+
for (int i = 0; i < 30; i++)
186186
{
187+
Task.Delay(500).Wait();
187188
proxyDialogElement = targetRootElement.FindFirst(TreeScope.Descendants, proxyDialogCondition);
188189
if (proxyDialogElement == null)
189190
{
190191
break;
191192
}
192193
// ChromeでloginButton.Invoke()の実行までが早すぎて応答しないことがあるので
193-
// ここで一度だけリトライする
194-
if (i == 0)
194+
// ここで二回までリトライする
195+
if (i < 2)
195196
{
196197
try
197198
{
198-
Task.Delay(500).Wait();
199199
loginButton.Invoke();
200200
context.Logger.Log($"Retry to click login button.");
201201
}
202202
catch { }
203203
}
204-
Task.Delay(1000).Wait();
205204
}
206205

207206
if (proxyDialogElement != null)

0 commit comments

Comments
 (0)