Sie haben also zwei Probleme:
- Sie müssen den Browser bewirken, dass die Datei
- Sie zum Download messen müssen, wenn die heruntergeladene Datei abgeschlossen ist
Weder problemc eine sein direkt gelöst von Selenium (noch - 2.0 kann helfen), aber beides sind lösbare Probleme. Das erste Problem kann durch GUI-Automatisierungs-Toolkits wie AutoIT gelöst werden. Sie können aber auch gelöst werden, indem einfach ein automatisierter Tastendruck auf Betriebssystemebene gesendet wird, der die Eingabetaste simuliert (funktioniert für Firefox, etwas schwieriger bei einigen Versionen von Chrome und Safari). Wenn Sie Java verwenden, können Sie Robot dazu verwenden. Andere Sprachen haben ähnliche Toolkits, um so etwas zu tun.
Das zweite Problem ist wahrscheinlich am besten mit einer Art Proxy-Lösung gelöst. Wenn Ihr Browser beispielsweise so konfiguriert wurde, dass er einen Proxy durchläuft und dieser Proxy über eine API verfügt, können Sie den Proxy mit dieser API abfragen, um zu fragen, wann die Netzwerkaktivität beendet wurde.
Das machen wir bei http://browsermob.com, das ist ein Startup, das ich gegründet habe, das Selenium verwendet, um Belastungstests zu machen. Wir haben einen Teil des Proxy-Codes als Open Source veröffentlicht, verfügbar unter http://browsermob.com/tools.
aber zwei Probleme bestehen nach wie vor:
- Sie müssen den Browser konfigurieren, dass der Proxy zu verwenden. In Selen 2 ist das einfacher, aber es ist auch mit Selen 1 möglich. Der Schlüssel ist nur sicherzustellen, dass Ihr Browser-Launcher den Browser mit den richtigen Profilen/Einstellungen aufruft.
- Momentan gibt es keine API für den BrowserMob-Proxy, um Ihnen mitzuteilen, wann der Netzwerkverkehr gestoppt wurde! Dies ist ein großes Loch im Konzept des Projekts, das ich beheben möchte, sobald ich die Zeit habe. Wenn Sie jedoch gerne mithelfen möchten, schließen Sie sich der Google-Gruppe an und ich kann Sie auf jeden Fall in die richtige Richtung lenken.
Hoffnung, die Ihnen hilft, Ihre verschiedenen Optionen zu identifizieren. Viel Glück!
wie jetzt? ist es immer noch nicht möglich? – user942640