0

アプリでWaTinを使用してダイアログボックスを処理し、Watinを使用してファイルを保存しています。ただし、ファイルを保存した後、ダウンロードが完了すると、別のダイアログボックスが開いたままになり、3つのボタンが表示されます。"Open" "Open Folder" "Close"

ダウンロードが完了したら、このダイアログボックスを閉じたいと思います。

 FileDownloadHandler fileDownloadHandler = new FileDownloadHandler("Arslan");
            browser.AddDialogHandler(fileDownloadHandler);
            browser.Button("Save").ClickNoWait();
            fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(15);
            fileDownloadHandler.WaitUntilDownloadCompleted(200);

このための方法を提案してください

4

2 に答える 2

0

私は同様の問題に遭遇しましたが、私が観察したことのいくつかは

  1. ブラウザーの複数のインスタンスが開いていると、すべてのダイアログ ハンドラーで問題が発生しました。テストの実行中にブラウザー インスタンスが 1 つしか開いていなかった場合、問題が発生することはめったにありませんでした。
  2. ダイアログ ハンドラーがブラウザー インスタンスから削除されない限り、次のファイル ダウンロードの試行中にほぼ確実に失敗します。

また、WaitUntilFileDownloadDialogIsHandled タイムアウトを増やしてみることもできます。

FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(downloadlocation);
try
{
    Button button = browser.Button(Find.ByText("Save"));
    browser.AddDialogHandler(fileDownloadHandler);
    button.ClickNoWait();
    fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(40);
    fileDownloadHandler.WaitUntilDownloadCompleted(200);

}
catch (Exception excp)
{
    /// Log exception message
}
finally
{
    /// Remove the dialog handler
    browser.RemoveDialogHandler(fileDownloadHandler);
}
于 2012-08-31T10:42:37.770 に答える
0

IE7でも同じ問題がありました。ただし、ハンドラーを削除すると次のタスクにスキップするだけで、次の反復でエラーが発生するため、複数のファイルをダウンロードしている場合、 Ashishが示唆するようにハンドラーを削除すると、タスクを実行できませんでした。
したがって、最も簡単な解決策は、ダウンロードの完了後にダウンロード ウィンドウを自動的に閉じるように IE7 を構成することです。これは、IE7 の -> Intenet options-> Advanced-> Browsing->で [ダウンロードが完了したら通知する] オプションのチェックを外すことによって行われますNotify when downloads are complete

于 2015-01-13T14:56:55.433 に答える