- 博客(52)
- 资源 (13)
- 收藏
- 关注
原创 jmeter对支付接口进行是否会重复拨付测试
场景:需要验证代码是否对请求银行拨付的接口做重复性验证限制步骤:1、配置好代理服务器与浏览器,重点在于本机空闲端口配置。如何配置请看(https://blog.youkuaiyun.com/qq_36685875/article/details/109357653?spm=1001.2014.3001.5502)2、录制好请求后,除了登录请求,后面的接口请求需要有登录鉴权信息才可发起请求。于是在HTTP信息头管理进行配置。因登录后鉴权信息的方式不同,有可能红框处是这种形式的,但目的都是为了让除了
2021-07-01 10:18:43
581
原创 office2019 for Mac(Office 2019 for Mac 16.26 VL)
1、先安装Microsoft_Office_16.26.19060901_Installer.pkg 不要打开2、再安装Microsoft_Office_2019_VL_Serializer.pkg 两个都安装完了就可以打开了
2020-10-29 15:27:38
2749
原创 jmeter 之http代理服务器进行录制脚本
以火狐为例,后面补充Chrome浏览器的1、浏览器设置与jmeter代理服务器一致的端口号2、http代理服务器设置排除模式,不录制不需要的脚本.*\.css 排除css文件," .* " 匹配任意字符的意思 " \ "是转义的意思3、火狐浏览器启用手动代理配置,http代理服务器选则对应启动项点击OK...
2020-10-29 14:07:45
487
原创 jmeter 连接数据库取值作为发送请求的参数时,数据库连接取值都正常,但请求报错
报错如下:检查了信息头设置,发现token都是没有问题的那么有可能是你粗心的把从数据库查出来的值(jdbc request)放在另一个线程组中了,也就是作用域问题。使得从数据库取出来作为参数的值取不到了,就会报这个错误。之前我就是把所有从数据库取的数据都单独放一个线程中了,然后压测的请求放另一个线程,导致请求参数填入数据库查出来的变量后一直取不到一直报图上的错误,突然间才想起来作用域的问题,如果单独放jdbc request那么它都是局部变量了啊,所以。。。。。...
2020-09-16 17:01:02
454
原创 jmeter 进行文件上传接口测试
一、添加http信息头管理器,添加用户登录的权限的token,证明是已登录的(未授权登录不允许上传文件)二、添加文件上传的http请求,配置如下,重点是红框所示:必须勾选对post使用multipart/form-datamime类型必须为:application/octet-stream 文件名称就浏览到要上传的文件即可另:其参数名称以及其他跟随请求发送的参数名称,内容类型与接口文档保持一致即可...
2020-09-16 16:33:19
5991
原创 app测试 之功能测试
app测试分类一、app功能测试 产品需求文档 显性需求 隐性需求 用户习惯 行业规范 竞争对手 兼容性测试 操作系统 系统名称:android、ios 系统版本:4.4-10 比较常见8...
2020-08-29 00:14:25
475
原创 jmeter 之总用户数、在线用户数、并发用户数
经验估算值:1、总用户数>在线用户数>并发用户数2、在线用户数是总用户数的10%,并发用户数是在线用户数的20%
2020-08-25 12:10:40
2294
原创 jmeter 之分布式测试
1、为啥要使用分布式测试按照一般的pc机配置,jmeter的GUI模式下(Windows),最多支持300-500左右的模拟请求线程,再大的话容易造成测试机客户端假死、无响应等状况,这是限于jmeter其本身的机制和硬件配置。其实真实的业务场景中模拟请求线程量很大,有时候为了尽量模拟业务场景,需要模拟大量的并发请求,这时候单台测试机就显得有心无力。针对这个情况,jmeter的解决方案是支持分布式压测,即将大量的模拟并发分配给多台测试机,来满足这种大流量的并发请求场景。2、分布式压测的原理1)
2020-08-25 11:04:37
243
原创 jmeter 之 后置处理器之正则表达式提取器
通过配置元件的csv data set config组件和选项的函数助手对话框可以对客户端数据进行参数化。但是,性能测试过程中有些数据不能简单通过客户端进行参数化,而是来源于服务端响应。比如:1)登录成功后服务器会返回一个登录凭证,防止csrf攻击而生成的token;2)查询订单号是通过服务端响应返回给客户端;3)用户登录,session信息不同,需保存动态的session;这些情况客户端参数化已经无法满足要求,所有,需通过后置处理器组件进行处理。 关联:将上一个请求的响应结果作为下一个请求的..
2020-08-24 22:04:54
285
原创 jmeter 之once only controller(仅一次控制器)
once only controller不管线程组循环几次,它下面的节点只执行一次,但是,多少个线程组就会执行多少次,项目中较常用的场景是登录,一个用户登录一次之后可以执行其他更多的操作。例:线程组数量为1,循环次数为10;仅一次控制器下有个http请求采样器,请求访问百度;那么察看结果树下是访问了几次百度呢?答案当然是1啦。例:线程组数量为5,循环次数为10;仅一次控制器下有个http请求采样器,请求访问百度;那么察看结果树下是访问了几次百度呢?答案当然是5啦。...
2020-08-24 17:01:03
1461
原创 jmeter 之loop循环控制器
如果同一个线程组线程数为1,连续发送10个相同的请求,手动添加10个同样的请求也能够达到同样的效果。但是如果连续发送100个同样的请求通过手动去添加100个请求不是很现实,所以就用到loop循环控制器。...
2020-08-24 16:45:25
1072
原创 jmeter 之foreach循环控制器
1、foreach 循环控制器一般跟配置元件中的用户定义的变量组件一起使用,foreach 循环控制器从用户定义的变量中读取一系列相关的变量,该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。2、输入变量前缀:变量前缀,必须跟用户自定义的变量名前缀一致,如:用户定义的变量名为:name_1,input variable prefix为name3、start index for loop(exclusive):循环开始的索引,默认是04、end index for loop(e
2020-08-24 16:33:53
1232
原创 jmeter 之if 条件控制器
1、if 条件控制器默认使用JavaScript语法进行判断2、可以先在配置元件-》用户定义的变量 定义变量;再逻辑控制器-》if 条件控制器,条件填入:"${变量名}"=="条件值" ,当该变量名的值等于条件值时,执行if条件控制器下的内容。(注意要英文状态下的双引号)3、如果勾选了interpret condition as variable expression?选项的话,则要求条件填入的变量值等于true才会执行if控制器下的内容...
2020-08-24 16:15:23
1653
原创 jmeter 之Debug 采样器(Debug Sampler)
添加debug采样器时,基本上选择默认选项就行,不需要做其他的修改注意点:1、debug采样器会把我们自定义的变量(自定义的变量除了在配置元件中-》用户定义的变量可以设置外,测试计划也可以进行用户定义的变量设置)输出在响应数据中,方便我们调试的时候使用。2、脚本调试完成记得删除debug采样器,避免debug采样器占用客户端资源。...
2020-08-24 12:10:22
1189
原创 jmeter 之 JDBC Request(JDBC采样器)
在工作过程中,有时需要对数据库发起请求或对数据库进行压力测试,这时就会用到JDBC Request(JDBC采样器)。一个采样器通常进行3部分的工作:向服务器发送请求、记录服务器的响应数据、记录响应时间信息。具体操作如下:1、添加一个线程组2、配置元件-》添加:JDBC连接配置信息3、添加jdbc驱动jar包,需放在jmeter lib文件夹下(放置完后需重启jmeter)4、采样器-》添加:JDBC采样器5、添加监听器...
2020-08-24 11:08:25
480
原创 jmeter 之参数化的来源
1、读取文件中的参数进行参数化(可通过配置元件-》CSV Data Set Config参数化,或者选项-》函数助手参数化)2、读取数据库中的数据进行参数化3、后置处理器通过读取服务器响应数据作为下一个请求的参数...
2020-08-23 17:48:41
188
原创 jmeter 之关于请求地址的几种写法
法1、利用配置元件中的用户定义的变量 1)配置元件-》用户定义的变量:定义http请求的域名或IP为变量,再定义端口号为另一个变量(变量名区分大小写) 2)采样器-》HTTP请求:服务器名称或IP用:${变量名} 同理端口号也是引用变量即可法2、利用配置元件中的HTTP请求默认值 1)配置元件-》HTTP请求默认值:填入域名或IP、端口号;当发送的http请求未配置域名或IP、端口号时,则采用HTTP请求默认值配置的域名和端口号以及参数 2)若设置了...
2020-08-23 16:51:23
2500
原创 Jmeter 各组件执行顺序和作用域
顺序如下序号所示:1、配置元件 配置元件的作用主要是为了初始化默认值和变量,以便后续采样器引用。相对于Java语言中间定义的一些常量和静态变量,配置元件作用域是最初始阶段处理,配置元件仅对其所在对测试树分支有效,在同一个作用域的任何采样器前,同时,线程组A中间定义了配置元件中间的用户定义变量,线程组同样可以引用该变量,所以,配置元件的作用域是可以跨线程组的。2、前置处理器前置处理器和后置处理器是相对应的,只是前置处理器会在采样器发出请求之前做一些特殊操作。3、定时器定时器是为了..
2020-08-23 13:37:19
495
原创 jmeter 初识一 目录结构
1、解压安装后的文件:1) bin目录下: 启动文件和修改内存:jmeter.bat(windows);jmeter.sh(linux) jmeter日志记录文件:jmeter.log 系统配置文件(修改语言,字符编码,日志级别等设置):jmeter.properties 分布式测试要用到的服务器配置:jmeter-server.bat(windwos);jmeters-server(linux)2) docs目录: docs/api/ind...
2020-08-19 14:29:31
151
转载 在tomcat启动mysql的数据库表显示
转自:https://www.cnblogs.com/DeepinSky/p/5981408.html
2020-08-01 23:07:04
257
原创 Linux看实际内存占用和物理内存占用
1、实际内存占用可用free查看,如果不带后缀选项运行会显示一个以KB为单位的默认输出,如free -m查看内存占用情况(兆为单位)1)、total 内存总数: used 已经使用的内存数: free 空闲的内存数: shared 当前已经废弃不用,总是0 buffers Buffer Cache内存数: cached Page Cache内存数: buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pa...
2020-08-01 22:52:57
1261
原创 tomcat修改掉默认的http访问端口号
tomcat修改掉默认的http访问端口号1、在tomcat安装目录下的conf文件夹下的service.xml文件,用编辑器打开,修改完后要重启才生效。【不修改默认情况下http访问端口是8080端口号】2、<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />改这里就行3、配置文件里一共有三个端
2020-08-01 22:21:27
812
转载 gitHub常见操作和错误
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法如下: 1、先输入$ git remote rm origin 2、再输入$ git r
2018-01-04 20:15:55
237
转载 上传本地文件到gitHub
第一步:建立git仓库cd切换到你的本地项目根目录下,执行git命令,此命令会在当前目录下创建一个.git文件夹。git init第二步:将项目的所有文件添加到仓库中git add .这个命令会把当前路径下的所有文件,添加到待上传的文件列表中。如果想添加某个特定的文件,只需把.换成特定的文件名即可第三步:将add的文件commit到仓库git commit -m "注释语句"第四步:去git
2018-01-04 20:09:45
247
原创 20、ES6 属性的遍历 一共有 5 种方法可以遍历对象的属性
属性的遍历ES6 一共有 5 种方法可以遍历对象的属性。(1)for...infor...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。(2)Object.keys(obj)Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。(3)Object.getOwnPropertyName
2017-12-24 18:42:00
35327
转载 js中apply()和call()的区别和用法
Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.apply和cal
2017-12-20 14:48:42
230
原创 19、ES6 函数的扩展---作用域(与文章案例有出入)
作用域一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。 demo var x=1; function f(x,y=x){ console.log(y)
2017-12-18 09:54:57
179
转载 18、ES6 字符串的扩展
1. 字符的Unicode表示法JavaScript允许采用 \uxxxx 形式表示一个字符,其中“xxxx”表示字符的码点。 var v="\u0061"; console.log(v); //a但是,这种表示法只限于 \u0000 ——\uFFFF 之间的字符。超出这个范围的字符,必须用两个双字节的形式表达。 var v="\uD8
2017-12-09 10:53:10
178
原创 17、ES6 圆括号的问题
圆括号问题 解构赋值虽然很方便,但是解析起来并不容易。对于编译器来说,一个式子到底是模式,还是表达式,没有办法从一开始就知道,必须解析到(或解析不到)等号才能知道。由此带来的问题是,如果模式中出现圆括号怎么处理。ES6的规则是,只要有可能导致解构的歧义,就不得使用圆括号。但是,这条规则实际上不那么容易辨别,处理起来相当麻烦。因此,建议只要有可能,就不要在模式中放置圆括号。不能使用圆
2017-12-09 00:08:31
2044
转载 16、ES6 数值和布尔值的解构赋值
数值和布尔值的解构赋值解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。let {toString:s}=123;s === Number.prototype.toString;let {toString:s}=true;s===Boolean.prototype.toString;上面代码中,数值和布尔值的包装对象都有 toString属性
2017-12-08 20:13:54
1231
原创 15、ES6 数组的解构赋值
数组的解构赋值 基本用法ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。 //ES5 var a=1; var b=2; var c=3;ES6允许写成下面这样。var [a,b,c]=[1,2,3]; console.log(a);
2017-12-08 14:03:58
153
原创 14、ES6 for...of循环
类似数组的对象类似数组的对象包括好几类。下面是for…of循环用于字符串、DOM NodeList对象、arguments对象的例子。//字符串 demo let str="hello"; for(let s of str){ console.log(s); //h
2017-12-07 18:05:36
462
原创 13、ES6 Iterator(遍历器)的概念
1. Iterator(遍历器)的概念JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结构。遍历器(Iterator)就是这样一种机制。它是一种接口,
2017-12-06 16:05:22
427
原创 12、ES6 解构赋值的7个用途
解构赋值的用途: 1、交换变量的值 2、从函数返回多个值 3、函数参数的定义 4、提取json数据 5、函数参数的默认值 6、遍历Map解构 7、输入模块的指定方法------------------------------------------------------1、交换变量的值-
2017-12-05 11:33:11
355
原创 11、ES6 函数参数的解构赋值
函数参数的解构赋值 1、函数的参数也可以使用解构 2、函数参数的解构也可以使用默认值---------------------------------------------------------------函数参数的解构赋值-------------------- 函数参数的解构赋值
2017-12-05 10:45:06
790
原创 10、ES6 字符串的解构赋值
字符串的解构赋值 1、字符串也可以解构赋值:字符串被转换成了一个类似数组的对象。 2、属性解构赋值:类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值。 ----------------------------------------------------------------字符串的解构赋值--------------
2017-12-05 09:49:48
595
原创 9、ES6 对象的解构赋值
1、解构不仅可以用于数组,还可以用于对象 对象的属性没有次序,变量必须与属性同名,才能取到正确的值。2、指定默认值 默认值生效的条件是,对象的属性值严格等于undefined。3、现有对象的方法 对象的解构赋值,可以很方便的将现有对象的方法,赋值到某个变量。----------
2017-12-04 23:36:48
353
原创 8、ES6跨模块常量
跨模块常量 // const声明的常量只在当前代码块有效,如果想设置跨模块的常量,怎么办? //module.js(假设这是放常量的模块) export const variantName="variantValue"; //从module.js模块输出variantName常量
2017-12-04 10:30:01
530
转载 htmlspecialchars()和addslashes()函数
在防止被注入攻击时,常会用到两个函数:htmlspecialchars()和addslashes()函数。这两个函数都是对特殊字符进行转义。1)addslashes()作用及使用addslashes()通常用于防止sql注入,它可对通过get,post和cookie传递过来的参数的单引号和双引号已经null前加“\”进行转义如:如变量$str=$_POST["str"];的值为:bb'
2017-11-22 10:05:15
911
原创 7.ES6 变量的解构赋值 (Destructuring)
解构 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 数组解构 var b=2; var c=3; --> var [a,b,c]=[1,2
2017-11-19 18:50:18
222
性能测试计划.xmind
2020-08-26
性能测试流程.xmind
2020-08-25
ECMAScript6简书
2017-12-06
bootstrap.js
2017-11-15
traceur.js转码器
2017-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人