Watir-ダウンロード

UIまたはWebサイトに、PDFまたはドキュメントをダウンロードするボタンまたはリンクがあります。ブラウザにいくつかの設定を与えることで、Watirで使用するためにそれをテストできます。

ダウンロードの構文-

prefs = {
   'download' => {
      'default_directory' => "C:/download",
      'prompt_for_download' => false,
   }
}
b = Watir::Browser.new :chrome, options: {prefs: prefs}

prefsにはダウンロードがあり、ダウンロード後にファイルを保存するパスを指定する必要があります。また、上記の構文に示すオプションを使用して、ブラウザーに同じパスを指定する必要があります。

実例をここに示します。ここでは、ボタン付きのテストページを作成しました。ボタンをクリックすると、以下に示すようにfile.txtというファイルがダウンロードされます。

<html>
   <head>
      <title>Testing UI using Watir</title>
   </head>
   
   <body>
      <br/>
      <br/>
      <button id = "btnsubmit">
         <a href = "file.txt" download>Click to Download!</a>
      </button>
      <br/>
   </body>
</html>

file.txt

This is for testing watir download

出力

ダウンロードボタンをクリックすると、ファイルがダウンロードされます。

ここで、Watirを使用して同じことをテストしましょう-

require 'watir'
prefs = {
   'download' => {
      'default_directory' => "C:/download",
      'prompt_for_download' => false,
   }
}
b = Watir::Browser.new :chrome, options: {prefs: prefs}
b.goto('http://localhost/uitesting/filedownload.html')
b.button(id: 'btnsubmit').click
b.screenshot.save 'testdownload.png'

ダウンロードしたファイルを保存するために指定したパスは「C:/ download」です。上記のコードを実行すると、以下に示すように、ダウンロードパスにファイルがダウンロードされます。

出力testdownload.pngは次のようになります-