已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LoadRunner 中的常用函数整理中的常用函数整理 参考资料 参考资料 LoadRunner 函数大全之中文解释 pdf 前言 前言 在使用 Loadrunner 做性能测试的过程中 发现 Loadrunner 的函数库真的很强大 很多 时候遇到的问题 只需要通过某一个 Loadrunner 自带的函数就可以解决 就跟很多编程 语言自带的库一样 Loadrunner 也有这么一个庞大的库 而且在 Loadrunner 中可以直 接调用 不需事先加载 这里就对一些常用的函数进行了整理 部分函数也是 C 语言自带的函数 但用处和 Loadrunner 的函数一样广泛 熟练使用这些函数 既能简化脚本代码 同时也可以有效 地监控脚本运行的过程和结果 与操作有关的函数与操作有关的函数 1 web url web url 函数是一个操作函数 它可以加载指定的网页 GET 请求 函数 web url 可以加载 URL 属性指定的 URL 函数 web url 不需要上下文 该函数是应用最广泛的一个函数 一般不需要手写 通过 LR 使用浏览器录制 HTTP 协议的 脚本基本上都是使用该函数与 http 服务器进行交互 定义 int web url const char Name const char url EXTRARES LAST 例子 web url favicon ico URL Resource 0 RecContentType text html Referer Snapshot t2 inf Mode HTML LAST 2 web custom request web custom request 函数是一个操作函数 通过它可以使用任意方法创建自定义 HTTP 请求或创建正文 默认情况下 VuGen 只为无法用其他 Web 函数解释的请求生 成该函数 这个函数通常是手工编写脚本用的 当与 http 服务器交互不是通过浏览器进行交互 就会用到该函数 比如基于 soap 协议的 xml 格式或者 json 格式的消息交互 定义 int web custom request const char RequestName EXTRARES LAST 例子 基于 xml 格式的消息交互 web custom request services4 URL http 172 16 91 251 8080 web tr069 Method POST Resource 0 RecContentType text xml Mode HTML EncType text xml charset utf 8 Body 3 PicUpdate 9010 DATE T begin time1 DATE T TIME Snapshot t1402309446 inf LAST 基于 json 格式的消息交互 web custom request BOOT URL http 172 16 37 201 8080 Qcs acs boot Method POST TargetFrame Resource 0 RecContentType text xml Referer Mode HTTP Body eventType eventCode 1 subEvent 0 deviceId serviceUser service user mac mac manufacturer Manufacturer oui 00D0D0 productClass STB serialNumber 00100199007011400002D0154AD783F2 errorcode 1 currentTime 2013 11 06 01 47 07 baseParameterList connectionURL http 172 16 18 203 7070 pppoeUser not used version 2 06 05 07 epgServerUrl http 58 223 255 211 8080 FEC 0 hardwareVersion ZXB600V4A STBSD ST5205 000 softwareVersion V40232961 LAST 使用 web custom request 发送一个空消息 web custom request nullmessage Method POST URL http 172 16 37 151 8080 web tr069 RecContentType text xml Snapshot t4 inf LAST soap request soap request 函数执行一个 SOAP 请求 它向指定的 URL 发送 SOAP 包 并接收服 务器响应 除了上面可以使用 web custom request 函数模拟 soap 消息发送以外 通过 soap request 函数也可以模拟 soap 消息发送 该函数只有在协议选择 Web Services 的脚本里面才可以使用 它区别于 Web HTTP HTML 协议 如果选择 Web HTTP HTML 协 议 则需要使用 web custom request 函数 使用 Web Services 协议的一个好处是可 以直接将 xml 文件导入到脚本当中 而 Web HTTP HTML 协议不支持导入 xml 格式文件 但坏处是使用 Web Services 协议的 Vuser 属于 Global 的 Vuser 默认的 Global Vuser 的 license 只有 100 而使用 Web HTTP HTML 的 Web User 则可以达到 10000 因此 对于 soap 协议消息交互 还是建议使用 Web HTTP HTML 协议 手工编写脚本 定义 int soap request const char StepName URL LAST 例子 soap request StepName SOAP Request URL http 172 16 37 151 8080 web tr069 SOAPEnvelope 1234 0 SOAPAction ResponseParam response Snapshot t1400577097 inf LAST 3 web link web link 函数是一个操作函数 它模拟鼠标单击由属性定义的链接 web link 只能在上 一个操作的上下文中执行 该函数可以通过脚本录制自动生成 对于 web 页面链接性质的页面元素 就可以使用该 函数 比如一个下载链接 定义 int web link const char StepName EXTRARES LAST 例子 web link update zip Text update zip LAST 4 web cleanup cookies web cleanup cookies 函数删除脚本使用的所有当前存储的 Cookie 定义 int web cleanup cookies 与日志有关的函数与日志有关的函数 5 lr message lr message 函数将消息发送到日志文件和输出窗口 在 VuGen 中运行时 输出文件为 output txt 定义 int lr message const char format exp1 exp2 expn 例子 lr message The begin time is s begin time 6 lr output message lr output message 函数将带有脚本部分和行号的消息发送到输出窗口和日志文件 定义 int lr output message const char format exp1 exp2 expn 例子 lr output message The begin time is s begin time 7 lr error message lr error message 函数将错误消息发送到输出窗口和 Vuser 日志文件 要发送不是特定 错误消息的特殊通知 请使用 lr output message 定义 int lr error message const char format exp1 exp2 expn 例子 lr error message Error 2 The response is not null before updating 8 lr log message lr log message 函数将消息发送到 Vuser 或代理日志文件 取决于应用程序 通过向 日志文件发送错误消息或其他信息性消息 可以将该函数用于调试 定义 int lr log message const char format exp1 exp2 expn 例子 lr log message The begin time is s begin time 四者的关系和区别 四个日志函数都会记录日志到 mdrv log 和 output txt 文件当中 所不同的是 lr log message 由日志开关控制 其他三个不由日志开关控制 只有在 Run time Setting 中选中 enable logging 才会日志 lr log message 的日志 lr error log 除了 日志错误日志以外 还会在 controller 中生成响应的 error 记录 因此 当需要记录某个 异常的时候 建议使用 lr error message lr message 与 lr output message 的区别在 于后者会显示脚本信息和行数 前者则不会显示 如 The begin time is 09 44 12 对应 lr message before update c 19 The begin time is 09 44 12 对应 lr output message 与事务有关的函数与事务有关的函数 9 lr start transaction lr start transaction 函数标记事务的开始 要指明要分析的事务 请使用函数 lr start transaction 和 lr end transaction 应紧接事务前后插入这些函数 定义 int lr start transaction const char transaction name 例子 lr start transaction download 10 lr end transaction lr end transaction 函数标记事务的结束 并录制执行事务所用的时间量 要指明希望分 析的事务 请在事务之前放置 lr start transaction 函数 并在事务之后放置 lr end transaction 函数 定义 int lr end transaction const char transaction name int status 例子 lr end transaction download LR PASS lr end transaction download LR FAIL lr end transaction download LR AUTO 自动录制的脚本是不会生成该函数的 如果不添加该函数 可以在 Run time Setting 中的 miscellaneous 中选择 define each action as a transaction 但不建议这样做 添 加事务函数可以更加精确的定义某个事务的起始结束时间点 这个时间点不一定是某个 action 的起始结束时间 还可以配合 if 条件语句有效控制该事务是成功还是失败 与返回消息有关的函数与返回消息有关的函数 11 web reg save param web reg save param 是一个注册类型的函数 它注册一个请求 以在检索到的响应消 息中查找并保存一个文本字符串 只有在执行了下一个操作函数 如 web url 后才会执 行该操作 其主要作用是将返回消息中的某个字符串存入一个参数 用来做后续使用 比如发送下一 条消息必须携带上一条消息中返回的 session id 这个函数就能派上用场 或者对返回的消 息的某个字段进行校验 定义 int web reg save param const char ParamName LAST 例子 web reg save param return length2 LB Content Length RB r n Ord ALL LAST 其中 LR 为左边界 RB 为右边界 Ord 为查找到匹配值的顺序 默认为 1 如果 Ord ALL 表示会将所有查找到的匹配值保存到一个 list 当中 比如返回消息如下 HTTP 1 1 200 OK r n Server Apache Coyote 1 1 r n X Powered By Servlet 3 0 JBossAS 6 r n Content Length 0 r n Date Fri 18 Jul 2014 02 35 47 GMT r n r n 则上述函数会将 Content Length 的长度 0 存到 return length2 这个参数当中 12 web get int property web get int property 函数返回关于最后一个 HTTP 请求的指定信息 如果一个操作函 数返回所条响应消息 则只取最后一个响应详细的结果 该函数可以指定的返回消息类型 HTTP INFO RETURN CODE HTTP 请求响应码 如 200 404 HTTP INFO DOWNLOAD SIZE HTTP 请求响应大小 包含消息头和消息体 HTTP INFO DOWNLOAD TIME 最后一个 http 请求返回的下载时长 单位为毫秒 定义 int web get int property const int HttpInfoType 例子 int flen flen web get int property HTTP INFO DOWNLOAD SIZE 13 web reg find web reg find 函数注册一个请求 以在下一个操作函数 如 web url 检索到的网页上 搜索一个文本字符串 这个与 web reg save param 有些类似 也是从下一个操作函数中从返回中取出一个文 本字符串 所不同的是从返回的消息当中查找某个字符串 而并不需要该字符串位于某个 特定位置 也就是存在固定的左右边界 而且可以将查找到的次数保存在相应的参数当中 需要注意的是 如果查询的字符为中文字符 在录制前 需要在 option 中选择编码格式 为 UTF 8 定义 int web reg find const char attribute list LAST 例子 web reg find Text 知道 SaveCount para count LAST 与参数有关的函数与参数有关的函数 14 lr eval string lr eval string 函数在评估任何嵌入的参数之后返回输入字符串 如果字符串实参 argument 只包含一个形参 parameter 该函数返回形参的当前值 这个函数主要用来取出某个参数的值 在 Loadrunner 中 对于参数替换 是无法在除了 操作函数以外直接使用参数的 必须将参数放入这个函数才能表示该参数的值 定义 char lr eval string const char instring 例子 begin time lr eval string TIME 取出时间参数在本次迭代的值 并存入 begin time lr vuser status message before iteration s MAC is s lr eval string iteration lr eval string MAC 取出当前迭代次数并打印在消 息中 15 lr save string lr save string 函数将指定的以 null 终止的字符串赋给参数 该函数可用于关联查询 要 确定参数值 请使用函数 lr eval string 这个参数跟 lr eval string 正好相反 是将某个值存入参数当中 以在消息中使用该参数 定义 int lr save string const char param value const char param name 例子 begin time lr eval string TIME lr save string begin time begin time1 这里需要解释下 这样用的原因 因为 TIME 参数设置的是每次出现都做一次更新 每次 调用 TIME 参数都会返回不同的值 为了使用最初的 TIME 值 则必须将 TIME 参数值取出 来以后保存在另一个参数当中 16 lr save int lr save int 函数将指定的数值型变量赋给字符串参数 定义 int lr save int int value const char param name 例子 lr save int time 上述函数的意义是将当前时间距离 1970 01 01 的秒数存入 times 参数当中 与时间有关的函数与时间有关的函数 17 lr save datetime lr save datetime 函数将当前日期和时间 或具有指定偏移的日期和时间保存在参数中 如果达到 MAX DATETIME LEN 个字符 结果字符串将截断 定义 void lr save datetime const char format int offset const char name 例子 lr save datetime Y m d H M S DATE NOW TIME NOW times 上述例子中的函数将当前时间以固定格式存储在字符串变量 times 中 18 time 为 C 语言自带函数 根据系统时钟 time 函数返回从世界标准时间 1970 年 1 月 1 日 子夜 00 00 00 作为开始所经过的秒数 返回值存储在 timeptr 所给出的位置 如果 timeptr 为 NULL 则该值不会被存储 定义 time t time time t timeptr 例子 typedef long time t time t t Get system time and display as number and string lr message Time in seconds since 1 1 70 ld n time lr message Formatted time and date s ctime 19 ctime 为 C 语言自带函数 在 Unix 下 ctime 不是线程级安全函数 所以 请使用 ctime r 有关详细信息 请参阅平台相关文档 定义 char ctime const time t time 例子 typedef long time t time t t Get system time and display as number and string lr message Time in seconds since 1 1 70 ld n time lr message Formatted t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年淮南市寿县双庙集镇乡村振兴专干招考1名考试模拟试题及答案详解
- 2026四川成都师范银都紫藤南区小学社会招聘员额教师9人考试模拟试题及答案详解
- 浙江嘉兴南湖机场2026届校园招聘考试模拟试题及答案详解
- 2026年中国人民解放军第一五二中心医院医护人员招聘笔试备考题库及答案详解
- 2026江苏南京大学YJ20260360化学学院博士后招聘1人考试参考题库及答案详解
- 2026年国家综合性消防救援队伍面向社会招录消防员17000人笔试模拟试题及答案详解
- 血液透析患者的饮食管理
- 2026四川九洲君合私募基金管理有限公司招聘投资经理1人笔试模拟试题及答案详解
- 2026莆田市城市规划展示馆招聘讲解员1人笔试备考试题及答案详解
- 2026内蒙古呼伦贝尔市总工会招聘社会化工会工作者和工会专职集体协商指导员28人笔试模拟试题及答案详解
- 大学自主招生综合评价面试技巧综合评价招生面试课件
- SolidWorks-Simulation有限元分析培训教程
- 脊柱外科进修汇报
- 定点医疗机构医保管理制度
- 《原地侧向投掷轻物》教案 -省赛一等奖
- D500-D505 2016年合订本防雷与接地图集
- PCB化学品安全培训
- DB11T 950-2022 水利工程施工资料管理规程
- 基于ANSYS自行车车架静强度有限元分析
- 教海探航论文
- 2022年上海市学业考地理试卷有答案解析
评论
0/150
提交评论