Здравствуйте.
Нужна помощь в написании теста на Пайтоне+Селениум. Сценарий приблизительно такой.
открыл браузер, зашел на сайт
Зашел в папку
Отметил чекбоксами интересующие меня файы
Нажал кнопку Даунлоад
C этими шагами у меня нет проблем. А вот дальше, мне нужно проверить что файлы скачались, появились в папке у меня на компе и проверить их целосность. И я понятия не имею как это делать. Посоветуйте хотя бы в каком направлении копать.
Работать с файловой системой можно через модуль os.path
В частности os.path.isfile(your_file) возвращает True, если файл есть.
Ну а целостность проверяется подсчетом контрольной суммы - hashlib.md5 в помощь.
Потом в тесте нажимаем ссылку и ждем когда файл скачается, потом с этом файлом можно делать всё что угодно, проверить размер, контрольную сумму, даж с помощью сторонних тулзов сравнить и контент
var fs = require('fs');
var filename = path.resolve(__dirname, '../download/your-file');
browser.wait(function() {
return fs.existsSync(filename);
}, timeout || 30000).then(function () {
console.log('exported to: ' + filename);
}, function () {
expect(false).toBeTruthy('File was not exported');
});
более-менее разобрался. я уже проверяю наличее скачанного файла в папке, все получается.
а на счет целостности остались вопросы. ну вот я получил хеш скачанного файла, что мне с ним делать? если сравнивать то с чем?