loadrunner发送邮件时附件参数化

上一篇 / 下一篇  2009-09-23 20:01:00 / 个人分类:LoadRunner

loadrunner发送邮件附件参数化

参考:http://www.51testing.com/index.php?uid-117865-action-viewspace-itemid-132817

Action()
{

 smtp1 = 0;
 smtp_logon_ex(&smtp1, "SmtpLogon",
  "URL=smtp://192.168.146.68",
  "LogonUser=spam1@spamtest.com",
  "LogonPass=123456",
  "CommonName=LoadRunner User",
  LAST);

     smtp_translate_ex(&smtp1,"ori.txt",
  "Content-Type: application/octet-stream;\n  name=\"base64_ori.txt\"\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment;\n  filename=\"base64_ori.txt\"\r\n",
  BASE64_ENCODED,
  "base64_ori.txt");

//要参数化附件时,只要参数化ori.txt就可以;
//ori.txt要放到保存脚本的目录下,base64_ori.txt是进行BASE64编码后自动生成的文件;


 smtp_send_mail_ex(&smtp1, "SendMail",
  "To=spam1@spamtest.com",
  "From=spam1@spamtest.com",
  "Subject==?gb2312?B?bWFpbHRlc3TTyrz+suLK1NbQ?=",
  "ContentType=multipart/mixed;",                      
  MAILOPTIONS,
   "X-mailer: Foxmail 6, 15, 201, 22 [cn]",
  MAILDATA,
      "AttachRawFile=mailnote1_01.dat",
      //"AttachRawFile=mailnote1_02.dat",
      "AttachRawFile=base64_ori.txt",

      LAST);

 smtp_logout_ex(&smtp1);

 smtp_free_ex(&smtp1);

 return 0;
}

说明:
1、AttachRawFile=mailnote1_02.dat;
mailnote1_02.dat这个是存放邮件附件经过BASE64编码后生成的文件;
在这个文件中,header部份有:
Content-Type: application/octet-stream;
 name="ori.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="ori.txt"

这些是附件的header信息;表明附件名,传输编码等;

 

2、intsmtp_translate_ex (SMTP *ppsmtp,char *filename, char *content_header, ENCODING_TYPEencoding, char *output_filename);
这个函数表示,把filename文件经过ENCODING_TYPE编码后,加上content_header头部信息,生成output_filename文件;
打开output_filename文件,会发现里面的信息和mailnote1_02.dat这个附件文件保存的信息一样;

3、在脚本目录下,一定要把filename放进去,不然,发送的邮件,附件会变成空;

*********************************************************

此方法慎用!!!!!!!!!!!!!

测试发现,大量VUSER执行上述脚本,发送的邮件,有可能出现如下情况:
(1)附件大小变小或附件丢失,像DOC等文档会出现打不开现象,即数据不全导致;
(2)内容区出现很多空白行,信头也一样;原附件信息变成空白行导致;

如果只是回放脚本,则一切正常;

所以,可以利用该方法生成的编码后的文件,替换mailnote1_02.dat文件中的内容,再执行脚本,这样就不会出现问题;

*********************************************************


TAG: LoadRunner loadrunner 邮件 参数化 附件

不断的前进ING。。。 引用 删除 fairylly   /   2009-09-25 15:26:18
原帖由云层于2009-09-25 10:01:47发表
你可以看一下帮助, smtp_send_mail_ex有messagetext选项可用


int smtp_send_mail_ex (SMTP *ppsmtp, char *transaction, char *RecipientTo,
char *RecipientCC, char *Subject, char *MAILOPTIONS, char *MAILDATA, NULL);

没有messagetext选项啊
云层专版 引用 删除 云层   /   2009-09-25 10:01:47
你可以看一下帮助, smtp_send_mail_ex有messagetext选项可用
不断的前进ING。。。 引用 删除 fairylly   /   2009-09-24 15:45:50
原帖由云层于2009-09-24 09:44:40发表
不需要那么麻烦,直接换个客户端就可以了有MessageText的参数方式


不是很明白怎么操作
云层专版 引用 删除 云层   /   2009-09-24 09:44:40
不需要那么麻烦,直接换个客户端就可以了有MessageText的参数方式
 

评分:0

我来说两句

Open Toolbar