2016-05-26 68 views
1

誰かが助けてくれるかselenium2library、RobotFramework.Inを使用してブラウザからファイルがダウンロードされたかどうかを確認する方法現在のテストではダウンロードボタンをクリックできます。ファイルがダウンロードされなかった場合はどうなりますか?どのサンプルコードも参考になります。selenium2libraryを使用してブラウザからファイルがダウンロードされたかどうかを確認する方法

+1

Selenium2Libraryは、ブラウザ内で発生するものだけを処理します。 OperatingSystemライブラリを使用して、そのファイルがディスク上に存在することを確認する必要があります。たぶん "File Should Exist"キーワード – Pekka

+0

ありがとうございます@Pekka、特定のディレクトリにブラウザの自動ダウンロードオプションを与える可能性あり – Madhu

+0

File Exouldキーワードはプラットフォームに依存しないかどうか知ることができますか?私のテストは、LinuxとWindowsプラットフォームで実行する必要があります – Madhu

答えて

1

は、このリンクをチェックアウト - http://ardesco.lazerycode.com/testing/webdriver/2012/07/25/how-to-download-files-with-selenium-and-why-you-shouldnt.html

はまた、ここにあなたが特定のディレクトリにファイルを自動ダウンロードすることができます方法です -

FirefoxProfile profile = new FirefoxProfile(); 
profile.SetPreference("browser.download.folderList",2); 
profile.SetPreference("browser.download.dir", @"c:\path\to\downloads \folder"); 
FirefoxDriver driver = new FirefoxDriver(profile); 
+0

あなたの回答にあなたのブログへのリンクはありません。関連する特定のブログエントリにリンクする場合は例外があります。あなたのブログを宣伝したい場合は、あなたのプロフィールページにそれを入れてください。 –

+0

@BryanOakleyあなたは私のコードを修正する際に助けてください$ {preferences} =辞書を作成するbrowser.download.folderList = 2 browser.download.dir = C:/ Users/mra001/Downloads/Cambium_Builds オープンブラウザ$ {cnMaestro_URL} $ {Browser} desired_capabilities = $ {preferences} – Madhu

0

uはダイアログを表示せずにファイルをダウンロードするには、次のPythonの関数を使用することができますボックス。

また、ファイルダイアログボックスが表示されないようにするファイルの種類を設定できます。

私は chrome://downloadsページを開き、このようなシャドウDOMからダウンロードしたファイルの一覧を取得Chromeで
def create_profile(): 
    from selenium import webdriver 
    fp =webdriver.FirefoxProfile() 
    fp.set_preference("browser.download.folderList",2) 
    fp.set_preference("browser.download.manager.showWhenStarting",False) 
    fp.set_preference("browser.download.dir",'C:/Users/mra001/Downloads/Cambium_Builds') 
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk",'text/csv/xls') 
    fp.update_preferences() 
    return fp.path 
+0

有効なパスは何ですか?私はc:\\ Users \\ mra001とc:/Users/mra001..を試してみました。すべての場合、以下のようなエラーが表示されます。 'WebDriverException:メッセージ:ターゲットURL create_profileの形式が正しくありません。 Stacktrace:FirefoxDriver.prototype.getの (ファイル:/// c:/ users/mra001/appdata/local/temp/tmpgb0b3o/webdriver-py-profilecopy/extensions/ [email protected]/components/driver-ファイル:/// c:/ users/mra001/appdata/local/temp/tmpgb0b3o/webdriver-py-profile ' – Madhu

+0

私はC:\として与えています。 \ tempそれは問題なく動作します。パスが存在することを確認します。 –

5

const docs = document 
    .querySelector('downloads-manager') 
    .shadowRoot.querySelector('#downloads-list') 
    .getElementsByTagName('downloads-item'); 

この溶液をクロムに拘束され、データもファイルパスのような情報が含まれており、ダウンロード日。

関連する問題