脚本开发-利用web_custom_request函数进行接口测试 by:授客 QQ:1033553122 一.POST + JSON格式参数 例: web_custom_request("create", "URL=http://xxx.xxx.x.xx:1600/ditui/agentshop", "Method=POST", "Resource=0", "RecContentType=application/j…
脚本开发-利用web_submit_data函数实现POST请求   by:授客 QQ:1033553122 概述 web_link()和web_url()函数都是页面访问型函数,实现HTTP请求中的GET方法,如果需要实现POST方法,可使用web_submit_form或web_submit_data()函数.当请求比较特别,VuGen无法使用以上4个函数时,便会采用web_custom_request()函数. 其中,web_submit_form 类似web_submit_data函数,…
脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实现 新建Windows Sockets协议脚本:新建脚本时,协议选择“Windows Sockets” 代码组织结构: 注: strlen 函数功能:返回字符串的字节大小 函数原型:size_t strlen( const char *string ); 运行结果: 用lrs_receive_ex函…
脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“Import” ->弹出窗中选择“URL”,填写wsdl地址,导入 例:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 导入后 入口2:Add Service Call -> 弹出框中点击“Service”列表框的下…
开发性能测试脚本原则.简单 正确 高效 在lr中,脚本运行是解释执行的.所以在运行时,需要先编译. 局部变量和全局变量 1.在init.action.end中定义的变量就是局部变量 2.在globals.h中定义的变量是全局变量 3.什么时候定义全局变量 ? 整个过程中固定不变的,例如URL地址.KEY.其他 int a=100;//这个a是文件级别的.除了globals.h 都可访问 Action() { ; ; //在lr要使用变量,必须放在最上面. printf("%d",a);…
转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 将字符串保存为参数 lr_save_string("string you want to save", "arg_name"); 举例:用参数来替换需要打开的url链接 Action2() { lr_save_string("http://172.25.75…
Loadrunner脚本开发规范 目录 1.一般约定... 3 2.代码注释约定... 4 3.格式化代码... 5 1.一般约定 1.1具体脚本规则,必须在具体代码中加注释,以便脚本开发人员阅读和理解脚本. 1.2脚本的存放规则: 测试脚本应该存储在指定的库中,例如一个共享的驱动盘或测试管理工具中.为节省空间,便于复用,测试脚本的文件夹下的: result,res,date 文件夹,后缀名为:.idx  .log  .txt 文件都可不必保留.    1.3脚本中 auction的命名规则:…
脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int soap_request( const char *StepName, ExpectedResponse, URL, , [Attachments,] LAST); 参数说明: StepName: 函数名称 ExpectedResponse:可接受的响应类型 1)ExpectedResponse=Soa…
脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestName, , [EXTRARES, ,] LAST ); 参数说明: RequestName            step名称,即请求名. List of Attributes    属性列表 注意:属性名称大小写敏感 EXTRARES               界定参数,表名接下来的参数将是个…
脚本开发- web_url函数详解 by:授客 QQ:1033553122   加载指定url的web页面(GET请求) C语言函数 int web_url( const char *StepName, const char *url, , [EXTRARES, ,] LAST ); java语言 int object.url( String stepName, String url, String[] argumentList ); Argument Description object We…
原文  http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问 题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或者不清楚客户端与服务器端之间的请求和应答内容及通信方式,导致一旦出现脚本执行失 败便无从下手.最近在做项目的一个接口测试时候,因请求是合作第3方发起的且不容易让第3方提供他们的平台给我们做测试,所…
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或者不清楚客户端与服务器端之间的请求和应答内容及通信方式,导致一旦出现脚本执行失败便无从下手.最近在做项目的一个接口测试时候,因请求是合作第3方发起的且不容易让第3方提供他们的平台给我们做测试,所以这种情况是没办法取录制脚本的,只能选择手动编写脚本实现.得知接口是使用http协议的post方法,想到了…
脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122   目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放视频 开发环境 Loadrunner 11.0 eclipse-standard-kepler-SR2-win32.zip jdk-6u14-windows-i586 Win7 32 脚本 DownloadVideo.java,代码如下,主要实现流媒体文件的下载及下载相关的分析 package do…
脚本开发-执行操作系统命令 by:授客 QQ:1033553122 思路: 用loadrunner system()函数 函数原型: int system( const char *string ); 示例一:在指定目录下创建指定文件 Action() { char filename[1024], command[1024]; char new_dir[] = "F:\\shouke"; // F盘下创建名为shouke的目录,并把它作为当前目录 if (mkdir(new_dir))…
脚本开发-文件下载 by:授客 QQ:1033553122 下载简介 对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”.“另存为操作”. 如下,点击页面中tar.gz压缩包,用工具可以清楚的看到,客户端仅是发起了一个GET请求,请求获取点击的资源.接着服务器返回包含请求资源响应消息 LoadRunner记录了客户端发出的对文件的请求,并能够收到服务器返回的内容.因此,我们要做的额外工作就是“保存”.“另存为”---可以通过关联的…
脚本开发-基本知识 1)编码工具设置 自动补全输入Tools->General Options->Environment->Auto complete word 显示功能语法Tools->Genral Options->Environment->Show Function Syntax 2)脚本注释 添加注释: //..Edit->Advanced->Comment selection. Ctrl+Alt+C 注意:注释前,必须先选定要注释.取消注释的内容,…
脚本优化-关联函数web_reg_save_param()函数详解   by:授客 QQ:1033553122 Insert->New Step,打开Add Step对话框 选择函数web_reg_save_param,点击OK,打开关联函数设置窗口   说明: Parameter Name 此处设置存放参数的名称,关联出来的内容将会存放在该参数中,受到Instance选项的影响. 例如,设置Parameter Name为temp,当对应的Instance选项是任意一个数字的时候,只会关联一个匹…
脚本开发-文件读写操作 by:授客 QQ:1033553122 函数说明 函数原型: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *file_pointer ); 参数说明: buffer:包含数据的缓冲区 size:缓冲区buffer的大小(字节为单位) count:缓冲区中写入多少个size大小数据(The number of bytes to store in the buffer) file_poi…
脚本开发-从文件读取数据并参数化 by:授客 QQ:1033553122   直接上代码: char* testfn() { int count, total = 0; //char buffer[1000]; char * buffer = NULL; int filelenth = 0; long file_stream; char * filename = "d:\\test.txt"; if ((file_stream = fopen(filename, "r&quo…
脚本开发-定义全局变量 by:授客 QQ:1033553122 如果参数是全局的,在脚本中的任何一个Action中都可以使用,变量一般是局部的,如果跨Action调用会出现未声明的错误. 打开Script视图中左侧Action列表中的globals.h文件,可定义全局变量 打开globals.h脚本,在globals.h中的//Global Varaiables后设置全局变量,这里设置的变量可以在不同的Action中用 eg: #ifndef _GLOBALS_H #define _GLOBAL…
脚本开发-int型变量和字符串的相互转换 by:授客 QQ:1033553122 字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345");  //将字符串变为整形 lr_output_message("%d", j); return 0; } 运行结果: Starting action Action2. Action2.c(8): 12345 Ending action Action2. int型变量转化为字符串…
脚本开发-参数化之将内容保存为参数.参数数组及参数值获取 by:授客 QQ:1033553122 ----------------接 Part 1--------------- 把内容保存到参数数组 这个概念lr9.x后才有 参数数组必须满足以下两个条件: 1.参数必须都是以相同的名字开头,后面接下划线加数字的方式顺序赋值. 2.参数数组必须有一个“参数名_count”的参数来记录数组的长度 相关函数: lr_paramarr_idx()     //获取参数数组中指定编号的参数的值 lr_pa…
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学oracle的同学,建议在Linux.Unix平台下进行学习,如果觉得安装麻烦,可以加全国软件性能测试交流群:7156436,免费获取Oracle_11g_R2 linux虚拟机及官方英译汉安装教程(该资料由授客提供). 操作步骤 1.  新建java 脚本 File -> New -Java Vuser…
字符串编码转换 by:授客 QQ:1033553122   相关函数 lr_convert_string_encoding函数 功能:字符串编码转换 原型: int lr_convert_string_encoding(const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName); 返回值:0(执行成功).-1(执行失败) 参数说明: sourceString:…
url解码 by:授客 QQ:1033553122 脚本结构如下: Action.c中的代码如下: int htoi(char *s) { int value = 0; int c = 0; c = ((unsigned char *)s)[0]; if (isupper(c)) { c = tolower(c); } value = (c >= '0' && c <= '9' ? c - '0' : c - 'a' + 10) * 16; c = ((unsigned cha…
c语言版本: int web_custom_request(const char *RequestName, , [EXTRARES, ,] LAST ); 参数说明: RequestName            step名称,即请求名. List of Attributes    属性列表 注意:属性名称大小写敏感 EXTRARES               界定参数,表名接下来的参数将是个资源属性列表 LAST                   表名列表结束的标记 List of At…
老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上的协议,在这里大家可以看看javauser的脚本开发环境如何搭建. 有对java比较熟悉的朋友,完全可以直接调用javauser来解析协议报文,处理逻辑请求. 脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环…
老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunner脚本如何配置环境,poptest是业内唯一一家培养测试开发工程师的培训机构,以培养学员做性能测试,自动化测试,测试工具开发的能力为目标,在poptest的课堂上分享大量的性能测试案例,由于个人的经验有限,资源有限,无法让讲师个人的能力跟上业务的技术进步,培训机构的讲师都在吃老本,poptest创始…
脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环境(Vuser--RunTime Settings) 3.开发javavuser脚本 /*  * LoadRunner Java script. (Build: _build_number_)  *  * Script Description: JavaVuser访问页面  *  * creator:jeffsui  *  * Create Time:201…
利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果/etc/init.d/nginxd {start/stop/restart/reload}利用if语句实现: =========================================================== 实现特殊颜色实现效果: vim start_nginx.sh [root@lamp01 scripts]# cat bqh_nginx_startup.sh #!/bin/sh . /etc/init.d/…