以下录制方法使得录制到的脚本为空:

  (1)打开Virtual User Generator,点击“新建Vuser脚本”,在弹出的向导页面,选择“新建单协议脚本”,选择“POP3”协议,并确定

        

  (2)在脚本页面,弹出的“开始录制”向导,选择应用程序类型为:Win32应用程序;要录制的程序可以选择outlook.exe、foxmail.exe等,此处以foxmail.exe为例;工作目录:自己选择存放脚本的目录;录制到操作:选择Action;确定后开始录制:

        

  (3)自动打开foxmail后,选择一个邮箱进行收信;收信完成后,点击LR录制窗口的停止按钮(即下图红色框框处)

        

  (4)结束录制后,未自动生成脚本,脚本为空:

        

  

  采用portmapping的方法来解决录制脚本为空的问题,以下方式可以正常录制POP3协议收取邮件脚本:

  (1) 打开foxmail,选择想要测试POP3协议的账号,右键选择“属性”,在打开的属性窗口中,选择“邮件服务器”,POP3服务器地址输入:127.0.0.1;(如果SMTP也采用portmapping方式来测试,则发送邮件服务器(SMTP)地址也输入:127.0.0.1)

        

  (2)点击该页面下方的“高级”按钮,在弹出的高级设置窗口中,POP3服务器端口处输入0-65535中还未被本地使用的端口号【注意:要和“LR设置端口映射时输入的本地端口号”一致】;(如果SMTP也使用该方法测试,则SMTP服务器端口也做同样修改);确定完成配置

        

  (3)打开Virtual User Generator,点击“新建Vuser脚本”,在弹出的向导页面,选择“新建单协议脚本”,选择“POP3”协议,并确定

        

  (4)打开“工具”->“录制选项”,找到端口映射(portmapping);点击“新建项”

        

    这里我们要新建一个POP3对应的端口:

    1)目标服务器:输入你要连接的测试服务器IP;

    2)POP3对应的端口号为110;

    3)服务ID:选择POP3;

    4)勾中“允许从本地端口转发到目标服务器”;端口号可输入0-65535中还未被本地使用的端口号,这里选择46【注意:要和foxmail客户端收信那里设置的端口号一致】;

        

  (5)以上配置完成后,开始录制向导设置如下:

    【选择应用程序类型】为:Win32应用程序

    【要录制的程序】:选择LR安装目录下的“../bin/wplus_init_wsock.exe”;

    【工作目录】:自己选择存放脚本的目录;

    【录制到操作】:选择Action;确定后开始录制:

        

  (6)自动打开foxmail后,选择一个邮箱进行收信;收信完成后,点击LR录制窗口的停止按钮(即下图红色框框处)

        

  (7)结束录制后,自动生成脚本:

        

   

Action()
{ lr_start_transaction("pop_login"); //登录事务开始
pop31 = ;
pop3_logon_ex(&pop31, "Pop3Logon",
"URL=pop3://q1@182chen.cn:abc1233@192.168.146.182", //此处帐号和密码可进行参数化
LAST);
lr_end_transaction("pop_login", LR_AUTO); //登录事务结束 lr_rendezvous("pop_retr_rendezvous"); //设置集合点 lr_start_transaction("pop_retr"); //收信事务开始
pop3_command_ex(&pop31, "Pop3Command",
"Command=STAT",
LAST);
pop3_list_ex(&pop31, "Pop3List",
LAST);
pop3_retrieve_ex(&pop31, "RetrieveMail",
"RetrieveList=20",
"DeleteMail=No",
LAST);
pop3_retrieve_ex(&pop31, "RetrieveMail",
"RetrieveList=21",
"DeleteMail=No",
LAST);
lr_end_transaction("pop_retr", LR_AUTO); //收信事务结束 pop3_logoff_ex(&pop31);
pop3_free_ex(&pop31);

return ;
}

注:红色字体部分为录制脚本后手动添加的

imap收信、smtp收信也可以类似上述方法进行录制脚本,以下为录制的脚本

【IMAP】

Action()
{
imap1 = ; lr_start_transaction("imap_login");
imap_logon_ex(&imap1, "IMapLogon",
"URL=imap://q2@182chen.cn:abc1233@192.168.146.182",
LAST);
lr_end_transaction("imap_login", LR_AUTO); lr_start_transaction("imap_list");
imap_list_mailboxes_ex(&imap1, "ListMailboxes",
"Reference=", "MatchName=*",
LAST);
lr_end_transaction("imap_list", LR_AUTO); lr_start_transaction("imap_select");
imap_select_ex(&imap1, "SelectMailbox",
"Mailbox=INBOX",
LAST);
lr_end_transaction("imap_select", LR_AUTO); lr_rendezvous("imap_fetch_rendezvous"); //设置收信集合点 lr_start_transaction("imap_fetch");
imap_fetch_ex(&imap1, "FetchMessages",
"Mode=",
"Fetch=1:* (UID)", ENDITEM,
LAST);
lr_end_transaction("imap_fetch", LR_AUTO); imap_free_ex(&imap1); return ;
}

【SMTP】

Action()
{ smtp1 = ;
smtp_logon_ex(&smtp2, "SmtpLogon",
"URL=smtp://192.168.146.182",
"LogonUser=q2@182chen.cn",
"LogonPass=abc1233",
"CommonName=LoadRunner User",
LAST); lr_rendezvous("smtp_send_rendezvous"); //设置发信集合点 lr_start_transaction("smtp_send");
smtp_send_mail_ex(&smtp1, "SendMail",
"To=q1@182chen.cn",
"From=<q2@182chen.cn> SIZE=1401",
"Subject=1",
"ContentType=multipart/alternative;",
MAILOPTIONS,
"From: \"q2\" <q2@182chen.cn>",
"To: \"q1\" <q1@182chen.cn>",
"X-mailer: Foxmail 6, 15, 201, 23 [cn]",
MAILDATA,
"AttachRawFile=mailnote1_01.dat", //邮件的纯文本格式
"AttachRawFile=mailnote1_02.dat", //邮件的html格式
LAST);
lr_end_transaction("smtp_send", LR_AUTO); smtp_logout_ex(&smtp1); smtp_free_ex(&smtp1); return ;
}

Loadrunner:POP3协议录制收信,使用foxmail录制到的脚本为空的更多相关文章

  1. PostFix使用dovecot支持POP3/IMAP收信

    PostFix只能够收发邮件,以及使用SMTP发送邮件,想要使用POP3/IMAP收信的话必须装其他软件,本文通过配置dovecot让邮件服务器支持POP3/IMAP收信.POP3/IMAP是一种收信 ...

  2. 【Python3】POP3协议收邮件

    初学Python3,做一个email的例子,虽然知道做的很渣渣,还是分享一下吧 POP3协议 POP3全称Post Official Protocol3,即邮局协议的第三个版本,它规定了怎样将个人计算 ...

  3. loadrunner socket协议问题归纳(6)

    首先让我们先看一下loadrunner- winsock 函数 一览表: lrs_accept_connection 接受侦听套接字连接 lrs_close_socket 关闭打开的套接字       ...

  4. 转 LoadRunner 技巧之THML 与 URL两种录制模式分析

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  5. PHP+socket+SMTP、POP3协议发送、接收邮件

    .实现SMTP协议的类dsmtp.cls.php:<?php            , $webname=).);     } } .实现POP3协议的类dpop3.cls.php: <? ...

  6. LoadRunner 技巧之THML 与 URL两种录制模式分析

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  7. 使用POP3协议接收并解析电子邮件(全)

    package org.yangxin.study.jm; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...

  8. SMTP协议及POP3协议-邮件发送和接收原理(转)

    本文转自https://blog.csdn.net/qq_15646957/article/details/52544099 感谢作者 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 ...

  9. POP3协议分析

    http://m.blog.csdn.net/bripengandre/article/details/2192111 POP3协议分析 第1章.     POP3概述 POP3全称为Post Off ...

随机推荐

  1. POJ 2393 贪心 简单题

    有一家生产酸奶的公司,连续n周,每周需要出货numi的单位,已经知道每一周生产单位酸奶的价格ci,并且,酸奶可以提前生产,但是存储费用是一周一单位s费用,问最少的花费. 对于要出货的酸奶,要不这一周生 ...

  2. Python 结巴分词(1)分词

    利用结巴分词来进行词频的统计,并输出到文件中. 结巴分词github地址:结巴分词 结巴分词的特点: 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成 ...

  3. listview--记录ListView滚动停止位置与设置显示位置

    在项目中经常使用到listView控件,当想记录滚动停止时的记录,当点击加载新的数据,从记录的位置开始显示的操作怎么实现尼?分为如下步骤 1.记录位置代码 //声明记录停止滚动时候,可见的位置 pri ...

  4. SqlCommand.ExecuteNonQuery()执行查询返回值的问题

    SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数.但是有个前提:必须是 UPDATE.INSERT 和 DELETE 语句.而对于 ...

  5. Jmeter html 报告中添加90% line time

    转载南风_real博客园:http://www.cnblogs.com/jaychang/p/5784882.html 首先上效果图: 其次明白几个原理: 90% Line的意思是:一组数由小到大进行 ...

  6. 02.lib-v1.js

    /* Date: 2014-07-29 4:06:07 [PM] */ function StringBuilder() { this.strings = new Array, this.length ...

  7. [Java] java中的接口定义

    在Java的通常规范中,对数据成员的修改要通过接口提供的方法进行(如下面示例中接口中的void learnMath(int hours)和void learnEnglish(int hours)),这 ...

  8. 字典查找、linq、foreach、yield等几种查找性能对比

    先上代码,以1千万记录的内存查找测试: List<Student> stuList = new List<Student>(); Dictionary<int, Stud ...

  9. nyoj 76 超级台阶

    点击打开链接 超级台阶 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规 ...

  10. sqlite支持的数据库类型

    http://www.sqlite.org/datatype3.html 默认只支持:NULL,INTEGER,REAL,TEXT,BLOB