Перейти к содержимому

Фотография

TC отправка логов по электронной почте


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 mskffo

mskffo

    Новый участник

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Мария
  • Город:Москва

Отправлено 06 марта 2013 - 07:47

Доброго дня!

Меня просят автоматически по завершении прогона тестов отсылать лог по нескольким адресам корпоративной почты. Лог я сохраняю в формат .mht и помещаю в конкретную папку.
Может кто сталкивался: ТС может выполять рассылку на почту? и если да, то как это можно реализовать?



Заранее благодарю!
  • 0

#2 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 06 марта 2013 - 08:08

Возьмите какой-нибудь почтовик с интерфейсом командной строки (например, The Bat) и отправляйте им почту. От TC всего лишь будет нужно вызвать внешний exe-файл.

P.S. Может TC умеет и сам отправлять почту, но я о таком никогда не слышал.
  • 0

#3 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 06 марта 2013 - 08:37

В TC можно использовать любые стандартные скриптовые средства. Зависит от языка, который используете. Погуглите что-то вроде "Sending e-mail from JavaScript/VBScript". Если какой-то нестандартный язык, вроде DelphiScript, там тоже эти все объекты можно вызывать.

Пара советов:
1) Придется хранить пароль в открытом виде. Используйте в качестве источника какой-нибудь аккаунт с общим доступом, ни в коем случае не свой. (Если нет - попросите админа завести такой или сделайте отдельный "спаммерский" адрес на сервере типа mail.ru).
2) MHT :biggrin:/> :biggrin:/> :biggrin:/>
Если письмо идет менеджерам, никто этот лог читать не будет. Сохраняйте результат в событии OnStopTest (где угодно - в глобальных переменных свита, в файлике, еще где-то), и по окончании составляйте понятный отчет. Его и отправляйте на почту.
  • 1

#4 Kissmybass

Kissmybass

    Активный участник

  • Members
  • PipPip
  • 98 сообщений


Отправлено 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 передаете стринг с путем к файлу логов
если нескольким людям надо отправить, создаете масивчик с мыломи и в цикле запускаете этот скрипт.
будут проблемы пишите в ЛС - помогу
  • 0

#5 war_fish

war_fish

    Новый участник

  • Members
  • Pip
  • 3 сообщений


Отправлено 19 сентября 2013 - 09:40

у меня похожая задача, но необходимо отправлять на почту не файлы с логами, а сообщение об ошибке с информацией о том когда она была и при выполнении какого теста.
пробовал редактировать скрипты с оф. сайта, они выполняются, но сообщение не приходит.
  • 0

#6 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 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);
}

  • 0

#7 war_fish

war_fish

    Новый участник

  • Members
  • Pip
  • 3 сообщений


Отправлено 19 сентября 2013 - 11:13

спасибо, попробую.
чего может не хватать в этом скрипте? он выполняется, тест комплит говорит что отправил сообщение, но письмо не приходит
http://support.smart...ewarticle/9020/
  • 0

#8 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 19 сентября 2013 - 12:28

чтото не пойму..а чем стандартная SendMail не подходит?
  • 0

#9 war_fish

war_fish

    Новый участник

  • Members
  • Pip
  • 3 сообщений


Отправлено 19 сентября 2013 - 13:57

Скрытый текст
по поводу вышеприведенного скрипта. вот такой вот вариант сработал.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных