前往: 導覽, 搜尋

使用 TestComplete 將目前的測試報告使用 Email 既出去,並且註明作業系統和語系

DSC 4709.jpg
緣起: 開始測試多國語言加上多作業系統,這總組合百百種,老實說~~只能做一個算一個
同樣的測試,要在很多台電腦上面運行這時候使用 VMware 當然是最佳的選擇,(使用過 VirtualBox 感覺不是很順手)
測試會一個接著跑,所以希望跑完該測試之後送Email 出來通知測試人員,讓管理者知道目前有哪些環境是續要下去看的....

function GetShortOSName()
{
  /*判斷目前的作業系統是 XP, Vista, Win7 還是 Server 2008....*/
 
  var rOS = Storages.Registry("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", HKEY_LOCAL_MACHINE);
  var sOS = rOS.GetOption("ProductName", 0);
  if (aqString.Contains(sOS, "2008") != -1)
    sOS = "Ser2008";
  else if (aqString.Contains(sOS, "2003") != -1)
    sOS = "Ser2003"
  else if (aqString.Contains(sOS, "7") != -1)
    sOS = "Win7"
  else if (aqString.Contains(sOS, "XP") != -1)
    sOS = "XP"
  else if (aqString.Contains(sOS, "Vista") != -1)
    sOS = "Vista"
 
  //Log.Message(sOS)
  return sOS; 
}
 
function GetFileName()
{
  /*判斷目前的作業系統是 32Bit 還是 64Bit*/
  var result = Storages.Registry("Control Panel\\International\\", HKEY_CURRENT_USER);
  var lan = result.GetOption("sLanguage", 0);
  //-----------
  var cpu;
  if (Sys.OSInfo.Windows64bit==true) 
    cpu = "X64";
  else
    cpu = "X86";
  //-----------
  sOS = GetShortOSName();
 
  var FileName = sOS + "_" + lan + "_" + cpu + ".mht";   
  return FileName;
}
 
function logexport()
 
{
    var FileName = GetFileName(); //匯出檔案之前當然要先決定檔名啦~~,這時候呼叫GetFileName() 將目前的作業系統拿到手
    var FilePath;
    FilePath = Project.ConfigPath + FileName;
    Log.Message(FileName);
    Log.SaveResultsAs(FilePath, 2); //將Log 寫出
    return FilePath;
}
 
 
 
function Mail()
 
{
    //程式從這裡開始
    var FileName = logexport(); //先呼叫 logexport()function 將Log 檔案匯出去 
    var ToAddress = "vicguo@我們公司.com";
    var FromHost = "ms2.hinet.net";
    var FromName = "vic";
    var FromAddress = "vicguo@我們公司.com";
    var Subject = GetFileName();
    var Body = "Dear all:\n all test finish\n Have a good day.\n AlarmChang";  
 
    if (SendMail(ToAddress,
            FromHost,
            FromName,
            FromAddress,
            Subject,
            Body,
            FileName
    ))
 
    {
        Log.Message("Send mail Done");
    }
 
    else
    {
        Log.Message("Fail to send email");
    }
 
}