arquivo EML aberta em qualquer cliente de email e tomar captura de tela
-
13-09-2019 - |
Pergunta
I realizar uma série de testes que criam mensagens de correio electrónico. Eu armazenar cada mensagem no arquivo EML separado. (Eu posso mudar extensão de arquivo, se necessário.)
Eu gostaria de abrir cada arquivo em qualquer cliente de email e tomar um tiro de tela, para que eu pudesse inspecionar visualmente e-mails mais tarde.
A idéia é que eu poderia usar uma imagem de aplicativo de visualização de olhar para vários screenshots, ao mesmo tempo, para que eu pudesse comparar visualmente eles (depois de cada teste).
Eu tenho acesso a máquinas com Windows, Mac e Linux. Eu preferiria se a solução está em Ruby, mas isso não é necessário.
Estou pesquisando na web e este site, mas sem sorte até agora. Vou postar a solução em resposta se eu encontrá-lo.
Solução
Parece que você não pode automatizar Outlook Express . Ele aceita opções só newsonly
e mailonly
quando iniciado a partir da linha de comando.
Thunderbird aceita nome do arquivo quando iniciado a partir da linha de comando:
C:\>"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" mail.eml
Isso era tudo que eu precisava para abrir um e-mail em um cliente de email.
snapit.exe leva a captura de tela e salva-lo de arquivo.
E aqui está o roteiro para levar a captura de tela para vários arquivos 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
Outras dicas
Tente usar selênio a tomar as screenshots
Eu nunca tentei, mas existem maneiras de tirar screenshots e maneiras de usar o Ruby
do documentação :
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"
Você também pode dar uma olhada em Página Glimpse para essas tarefas.
O que você precisa encontrar uma maneira de automatizar o "email aberto / tomar captura de tela" procedimento usando isso.