TC отправка логов по электронной почте
#1
Отправлено 06 марта 2013 - 07:47
Меня просят автоматически по завершении прогона тестов отсылать лог по нескольким адресам корпоративной почты. Лог я сохраняю в формат .mht и помещаю в конкретную папку.
Может кто сталкивался: ТС может выполять рассылку на почту? и если да, то как это можно реализовать?
Заранее благодарю!
#2
Отправлено 06 марта 2013 - 08:08
P.S. Может TC умеет и сам отправлять почту, но я о таком никогда не слышал.
#3
Отправлено 06 марта 2013 - 08:37
Пара советов:
1) Придется хранить пароль в открытом виде. Используйте в качестве источника какой-нибудь аккаунт с общим доступом, ни в коем случае не свой. (Если нет - попросите админа завести такой или сделайте отдельный "спаммерский" адрес на сервере типа mail.ru).
2) MHT /> /> />
Если письмо идет менеджерам, никто этот лог читать не будет. Сохраняйте результат в событии OnStopTest (где угодно - в глобальных переменных свита, в файлике, еще где-то), и по окончании составляйте понятный отчет. Его и отправляйте на почту.
#4
Отправлено 06 марта 2013 - 08:49
Доброго дня!
Меня просят автоматически по завершении прогона тестов отсылать лог по нескольким адресам корпоративной почты. Лог я сохраняю в формат .mht и помещаю в конкретную папку.
Может кто сталкивался: ТС может выполять рассылку на почту? и если да, то как это можно реализовать?
Заранее благодарю!
Привет, я тоже такое использую.
вот пример скрипта
function SendEmail(mFrom, mTo, mSubject, mBody, mAttach) { var i, schema, mConfig, mMessage; try { schema = "http://schemas.microsoft.com/cdo/configuration/"; mConfig = Sys.OleObject("CDO.Configuration"); mConfig.Fields.Item(schema + "sendusing") = 2; // cdoSendUsingPort mConfig.Fields.Item(schema + "smtpserver") = "127.0.0.1"; // SMTP server mConfig.Fields.Item(schema + "smtpserverport") = 25; // Port number mConfig.Fields.Item(schema + "sendusername") = "username"; // User name (if needed) mConfig.Fields.Item(schema + "sendpassword") = "password"; // User password (if needed) mConfig.Fields.Update(); mMessage = Sys.OleObject("CDO.Message"); mMessage.Configuration = mConfig; mMessage.From = mFrom; mMessage.To = mTo; mMessage.Subject = mSubject; mMessage.HTMLBody = mBody; aqString.ListSeparator = ","; for(i = 0; i < aqString.GetListLength(mAttach); i++) mMessage.AddAttachment(aqString.GetListItem(mAttach, i)); mMessage.Send(); } catch (exception) { Log.Error("E-mail cannot be sent", exception.description); return false; } Log.Message("Message to <" + mTo + "> was successfully sent"); return true; } function test(){ SendEmail("demoUser@test.com", "test@ukr.net", "Subject", "Body"); }
В атрибут Attach передаете стринг с путем к файлу логов
если нескольким людям надо отправить, создаете масивчик с мыломи и в цикле запускаете этот скрипт.
будут проблемы пишите в ЛС - помогу
#5
Отправлено 19 сентября 2013 - 09:40
пробовал редактировать скрипты с оф. сайта, они выполняются, но сообщение не приходит.
#6
Отправлено 19 сентября 2013 - 10:08
у меня похожая задача, но необходимо отправлять на почту не файлы с логами, а сообщение об ошибке с информацией о том когда она была и при выполнении какого теста.
пробовал редактировать скрипты с оф. сайта, они выполняются, но сообщение не приходит.
Если тесты запускаются через TestItems, то как вариант
var str=""; function GeneralEvents_OnLogError(Sender, LogParams) { str = aqConvert.DateTimeToStr(aqDateTime.Now())+ " Тест - "+Project.TestItems.Current.Name + " - "+LogParams.Str; }
А после прогона всех тестов запустить
function SendEmail() { if (str != "") SendMail(ToAddress, FromHost, FromName, FromAddress, Subject, str); }
#7
Отправлено 19 сентября 2013 - 11:13
чего может не хватать в этом скрипте? он выполняется, тест комплит говорит что отправил сообщение, но письмо не приходит
http://support.smart...ewarticle/9020/
#9
Отправлено 19 сентября 2013 - 13:57
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных