2016-12-07 4 views
0

ファイルをダウンロードして内容をテストするための機能テストを書く必要があります。 私は2つの部分があると言うことができます。 1)リンクをクリックしてファイルがダウンロードされていることを確認してください 2)ファイルを読み込んで内容を確認してください。それはcsvファイルなので、おそらくコンテンツでいくつかの操作を行うことができます。インターンフレームワークを使用してファイルのダウンロードをテストするにはどうすればよいですか?

答えて

2

これにはいくつかの問題があります。 1つは、リモートシステム上でブラウザを実行している場合、インターンを実行しているシステムにファイルを戻す方法が必要なことです。 2番目の問題は、ダウンロードしたファイルがダウンロードされた場所がどこにあるかを知る必要があることです。 3番目の問題は、セレンが扱うことができないOSレベルのダイアログがポップアップするブラウザ(FFやIE)があることです。

最初の質問は、本当にブラウザでファイルをダウンロードする必要がありますか?あなたがブラウザではなくサービスをテストしているように聞こえるかもしれません。その場合、インターンを使ってファイルをダウンロードし、そこで点検することができます。

ブラウザを使用してファイルをダウンロードする必要があると仮定すると、確認ダイアログを開かずにファイルを既知の場所にダウンロードしないようにする必要があります。上記。私は実際にこれをテストしていないことに注意してください。

Firefoxでは、test profile and use it when running testsを設定できます。あなたはおそらく次のプロパティを設定する必要があります:

  • browser.download.dir: 'フォルダをダウンロードするためのパス'
  • browser.download.folderList:2
  • browser.helperApps.neverAsk.saveToDisk: 'テキスト/ CSV'
  • browser.download.manager.showWhenStarting:偽

クロムについては、environment descriptorからオプションを渡します。特定のオプションは次のようになります。

  • 'profile.default_content_settings.popups': 0
  • 'download.default_directory': 'path to download folder'

セットアップブラウザをしたら、あなたのテストコードは(その後、時間のいくつかの不確定量を待って、リンクをクリックする必要がありますSeleniumはダウンロードの進行状況のデータを一切提供しません)、Internテスト自体(ネットワーク要求またはローカルファイル操作を使用して)からファイルを取得して検査します。

+0

はい私はコンテンツのサービスをテストする必要があることに同意します。しかし、これは非常に重要な機能であるため、ダウンロードをUIから確実に行うためにエンドツーエンドのテストが必要です。私はこれをテストする機会を得るまでこれを答えとして受け入れます。 – Mahesh

関連する問題