Откройте файл eml в любом почтовом клиенте и сделайте скриншот
Я выполняю много тестов, которые создают сообщения электронной почты. Я храню каждое сообщение в отдельном файле. (Я могу изменить расширение файла, если это необходимо.)
Я хотел бы открыть каждый файл в любом почтовом клиенте и сделать снимок экрана, чтобы позже я мог визуально проверить электронную почту.
Идея состоит в том, что я мог бы использовать приложение для просмотра изображений, чтобы просматривать несколько скриншотов одновременно, чтобы я мог визуально сравнить их (после каждого запуска теста).
У меня есть доступ к машинам с Windows, Mac и Linux. Я бы предпочел, чтобы решение было в Ruby, но это не обязательно.
Я ищу в Интернете и на этом сайте, но пока не повезло. Я отправлю решение в ответ, если найду его.
2 ответа
Похоже, вы не можете автоматизировать Outlook Express. Принимает только newsonly
а также mailonly
параметры при запуске из командной строки.
Thunderbird принимает имя файла при запуске из командной строки:
C:\>"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" mail.eml
Это было все, что мне нужно, чтобы открыть электронную почту в почтовом клиенте.
snapit.exe делает снимок экрана и сохраняет его в файл.
И вот сценарий, чтобы сделать снимок экрана для нескольких файлов EML.
file_names.each do |file_name|
`start /d "#{thunderbird_folder}" thunderbird.exe #{file_name}`
# if the script does not wait for a second, screen shot will be taken before
# thunderbird opens
sleep 1
`snapit.exe`
end
Попробуйте использовать Selenium, чтобы сделать скриншоты
Я никогда не пробовал, но есть способы сделать скриншоты и способы использовать Ruby
Из документации:
capture_screenshot(filename)
Captures a PNG screenshot to the specified file.
‘filename’ is the absolute path to the file to be written, e.g. "c:\blah\screenshot.png"
Вы также можете взглянуть на Page Glimpse для этих задач.
Вам нужно найти способ автоматизировать процедуру "открыть электронную почту / снять скриншот", используя это.