Problemem jest - nie można manipulować tym dialogiem "Zapisz jako ..." za pomocą kątomierza/selenu. Powinieneś unikać otwierania go w pierwszej kolejności i pozwolić Firefoxowi automatycznie pobierać pliki określonego typu (typów) MIME - w twoim przypadku: application/zip
.
Innymi słowy, trzeba uruchomić Firefoksa w zwyczaju Firefox Profile ustawienie appropriate preferences:
var q = require("q");
var FirefoxProfile = require("firefox-profile");
var makeFirefoxProfile = function(preferenceMap, specs) {
var deferred = q.defer();
var firefoxProfile = new FirefoxProfile();
for (var key in preferenceMap) {
firefoxProfile.setPreference(key, preferenceMap[key]);
}
firefoxProfile.encoded(function (encodedProfile) {
var capabilities = {
browserName: "firefox",
firefox_profile: encodedProfile,
specs: specs
};
deferred.resolve(capabilities);
});
return deferred.promise;
};
exports.config = {
getMultiCapabilities: function() {
return q.all([
makeFirefoxProfile(
{
"browser.download.folderList": 2,
"browser.download.dir": "/path/to/save/downloads",
"browser.helperApps.neverAsk.saveToDisk": "application/zip"
},
["specs/*.spec.js"]
)
]);
},
// ...
}
Tutaj jesteśmy w zasadzie mówiąc: Firefox, proszę automatycznie pobierać pliki zip, bez pytania do katalogu /path/to/save/downloads
.
Dziękuję bardzo, zadziałało. –
@alecxe jak mogliśmy zweryfikować pogodę pobrania pliku? – Nick
@Nie wiesz, poczekaj na pobranie, oto działająca przykład: http://stackoverflow.com/questions/41082777/protractor-test-download-file-without-knowing-filename. – alecxe