自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Etyero的博客

权当是笔记本

  • 博客(33)
  • 收藏
  • 关注

原创 关于测试过程中直接调用rpc接口及定时器方法的一点思路

前言:东家系统是用dubbo做的微服务架构,按不同业务模块分出不同的dubbo服务,大大小小有几十个项目,项目之间都是通过rpc接口通信,测试过程经常遇到当前测试项目依赖其他项目的处理结果(rpc回调)而受其他项目服务异常影响阻塞测试,这是问题之一;为保证数据完整性和一致性,项目中用到了大量的定时任务去处理一些业务,定时任务的触发器虽说是可配的,但想要灵活控制定时任务的执行,还是有点麻烦,这是问题...

2018-08-06 17:50:21 2091

原创 性能测试中对 linux 资源监控常用工具nmon,dstat,jmeter-plugin横评

前言:nmon,dstat是linux上两款常用的资源监控工具,当然我们可以选择用top,vmstat,ifstat,iostat等命令来了解想要了解的资源使用情况,但是工具的使用能让我们更方便快捷的掌握这些信息;另外,在用jmeter做性能测试时,我们还可以使用jmeter插件,来对linux服务器的资源使用情况进行监控,但是这三者到底谁更好用呢,分别有什么优缺点,笔者打算从以下几方面做个对比测...

2018-07-26 16:12:08 5477

原创 jmeter支持http2协议请求

前言:最近有小伙伴问到jmeter怎么发送http2协议的请求,虽然现在http1.1是主流,只有少数几家大厂用到h2协议,但还是研究了下,做个准备,说不定哪天就用上了。进入正题。1.为jmeter安装 HTTP/2  Sampler采样器插件。安装完成后,jmeter即可添加h2协议的采样器,如图2.jdk1.8及以下版本不支持h2协议,需要依赖alpn-boot.jar。需要注意的是,jdk小...

2018-02-28 21:32:20 6855 6

原创 linux Nginx配置篇:rewrite模块参数详解

rewrite和location的功能有点相像,都能实现跳转,主要区别在于rewrite常用于同一域名内更改获取资源的路径,而location是对一类路径做控制访问和反向代理,可以proxy_pass到其他服务器,在此说明下rewrite和location的执行先后顺序:1.执行server块中的rewrite;2.执行location;3.执行location中的rewrite;

2017-08-04 13:13:25 6058

原创 linux Nginx配置篇:gzip常用参数详解(附使用效果验证过程)

gzip模块是使用“gzip”方法压缩响应的过滤器,有助于将响应传输的数据大小减少一半甚至更多,能有效的缓解带宽及流量问题。以下内容均翻译于官网用户手册,介绍了gzip的一些常用参数,更多配置信息可以直接访问官网进行查看:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip1.参数项:gzip参数值:on(启用gzip压缩

2017-08-01 14:21:05 10036

转载 干货:阮一峰老师深入浅出谈http协议

推荐直接查看原文,包含了http各个版本的发展过程,区别,以及每个版本的参数说明,并且推荐大家直接关注阮一峰老师博客,很多干货。http://www.ruanyifeng.com/blog/2016/08/http.html下面是搬运内容。HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTT

2017-07-31 11:29:17 2399

原创 linux Nginx配置篇:location的匹配规则(附测试验证过程)

讨论location的匹配规则前,先弄明白location的分类:只有两类:正则location和普通location~和~*为正则location=、^~、@和无任何前缀的都属于普通location,另外,@是用作服务端内部的一种转发行为,很少用,在此不做讨论。先扔结论,或者说官网描述的匹配顺序:1.先普通,再正则2.普通location之间的匹配顺序:按最大

2017-07-28 11:36:47 7111 3

原创 linux Nginx配置篇:tomcat8+nginx+memcache集群session共享

1.安装memcache1.1.先安装依赖库:yum -y install libevent1.2因为有memcache的yum安装源,我这里直接使用yum安装,也可去官网下载源码包编辑安装。1.2.1先查看memcache的安装源:yum list | grep memcache。如下图,有memcache的安装源。1.2.2执行yum -y install memcac

2017-07-27 12:40:31 1826 3

原创 linux 不同服务器scp免密远程传输文件实例

假使现在有A,B两台服务器,需要在A服务器上免密scp传输文件到B服务器,操作如下。1.在A服务器执行ssh-keygen -t rsa,生成配对秘钥,一直enter即可,注意不要输入passphrase(口令)。

2017-07-01 15:42:38 5313 3

原创 Jenkins实现内网部署及外网远程部署到Tomcat

Jenkins插件--Deploy to container Plugin

2017-06-27 15:04:09 12777

原创 testNG简易教程(含安装,注解,配置文件,测试报告等)

一、eclipse安装TestNG插件1.在线安装点击eclipse顶部菜单栏Help-->Install New SoftWare,再点击Add按钮,Name:testNG,Location:http://beust.com/eclipse,等几分钟后出现testNG复选框,勾选安装即可。2.离线安装a.下载testNG安装包:http://download.csdn.NET/d

2017-06-21 15:24:39 1954

原创 简介JVM的CMS垃圾收集器

CMS(Concurrent Mark Sweep):是一款基于“标记-清除”算法,以获取最短GC停顿时间为目标的垃圾收集器,B/S系统尤其青睐该收集器,以带给用户最优的体验。大部分文档及书籍描述该收集器的收集过程为4个,其实看GC日志我们能知道,CMS的收集过程是分为7个步骤的:初始标记(CMS-initial-mark --STW):标记老年代中所有的 GC Roots能直接关联到

2017-06-05 17:29:03 1981

原创 【证】:内存的分配与回收策略

一、名词解释JVM的内存分配及回收策略:1.对象优先分配到Eden区中;2.大对象直接进入到老年代;3.长期存活的对象将进入老年代;4.动态对象年龄判断;5.空间分配担保机制JVM的垃圾回收算法采用的分代回收算法,根据对象存活周期不同,将内存分为年轻代和老年代,这样可以因地制宜的选择相应的回收策略。年轻代采用的回收算法是复制算法,了解过该算法的童鞋肯定知道,该算法是把内

2017-06-02 17:11:39 793 1

原创 我这个程序员是如何找到女朋友的

估计这是一篇虐狗的文章了!!请捂好小心脏昨天刚好是恋爱一周年,那就写写我是如何脱单的故事了。其实没啥好写的,毕竟我去年6月份换了家公司上班,好像还没过试用期吧。突然邻座的邻座的邻座的UI设计师就在某天加了我微信,然后不知道是被撩还是就是随便聊聊,因为我们目前都没有过任何交集,眼神交集都没有。反正就是那样子就尬聊了一周,然后就在她某天加班回来路上说害怕交换了号码,聊了几分钟也就她到家就没了。...

2018-08-13 12:06:54 2413 14

原创 linux centos修改ssh端口号

ssh默认端口为22,安全起见,一般不用默认端口,而是修改成其他不规则端口。进入正题:1.修改ssh配置文件  /etc/ssh/sshd_configvim /etc/ssh/sshd_config2.修改firewall配置(如果本机防火墙是关闭状态,可跳过这一步)firewall添加端口:firewall-cmd --zone=public --add-p

2017-07-26 11:27:51 2278

原创 linux Nginx安装篇

方法一:yum安装1.检查yum源执行yum list | grep nginx,查看是否存在nginx的yum源。如下图,没有nginx的安装源。ps:pcp-pmda-nginx不是nginx的安装包。网上查了很久还是不知道这个包是干嘛的。哪位兄贵知道的留言告诉我吧...不存在则需要先手动配置nginx的yum源,在/etc/yum.repos.d目录下新增nginx.

2017-07-24 19:12:56 2394

原创 linux rpm安装mysql

rpm安装mysql

2017-07-16 22:25:00 2112

原创 linux yum安装mysql及配置

一、yum安装mysql1.执行yum list |grep mysql,查看是否存在mysql的yum源,在linux上安装mysql,一般安装mysql-server和mysql-client即可。如下图,没有这两者的安装源。 不存在则需要先下载mysql的repo源:wget http://repo.mysql.com/mysql-community-release-el

2017-07-16 21:33:18 19224 2

原创 linux nmon的安装及使用

1.下载nmon压缩包:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download根据系统的发型版本及CPU位数选择相应的压缩包下载,如笔者的系统发行版本为:红帽子7.3.1611,64位:所以选择的版本为:nmon16g_x86.tar.gz,可以下载到本地,再ftp传到linux服务器上,也可以直接在linux服务器上w...

2017-07-10 18:06:53 21910 3

原创 linux以用户分组的方式做文件权限管理实例

1.在做文件权限管理之前,我们先了解下文件的基本属性,执行 ll 或者ls -l,查看文件的基本属性,以及所属的用户和组:第一列中:第一个字符:d:表示目录;-:表示文件;rwx:r:读权限w:写权限x:执行权限三个为一组,没有该权限时,用  -  表示,第一组为属主权限,第二组为属组权限,第三组为其他用户权限。第三列为文件(目录)属

2017-07-10 10:33:07 2057

原创 Jenkins插件使用--Email Extension Plugin(构建后邮件)

Jenkins自动构建后,我们往往需要知道构建的相关信息,并且把构建信息知会给相关人员,我们可以使用Jenkins邮件插件Email Extension Plugin来实现更丰富的邮件内容。进入正题:1.安装插件Email Extension Plugin2.进到系统管理->系统设置中,配置Extended E-mail Notificati

2017-07-01 17:02:41 7925 1

原创 linux系统环境变量及用户环境变量的配置

linux环境变量和Windows的环境变量一样,分系统环境变量和用户环境变量,系统环境变量对所有用户有效,而用户环境变量只对当前用户有效,下面以jdk为例进行两种环境变量的配置。1.系统环境变量配置执行 vim /etc/profile,JAVA_HOME为jdk所在目录:保存后执行source /etc/profile立即生效,执行java -version,出现jdk版本

2017-07-01 15:12:52 35042

原创 webUI自动化测试框架(四):代码分层-操作层及用例层

前面将基础打好了,接下来就是具体的使用了,业务层主要是页面中的各种业务操作,如登录,修改用户信息等,我们把这些操作都封装在业务类中,如登录操作,我们把它封装成一个类,登录的大致流程为打开登录页,输入用户名密码,点击登录按钮,这样一个完整的登录业务就算完成了。那为什么不直接写在测试类中呢,这样是为了将业务操作与测试用例分离,因为多个用例可能是对应一个业务操作的,这样,我业务代码是不用动的,只需要

2017-06-25 15:59:09 5847 6

原创 webUI自动化测试框架(三):代码分层-对象库层

前言:做UI自动化,不可避免的要和页面上的元素打交道,有的童鞋可能会选择把页面元素的定位,操作都写在测试代码中,当页面元素比较少,测试代码比较少的情况下还好,但是一旦页面元素多起来(实际运用中也不太可能少),测试代码一多,就难以阅读和维护了,因为元素定位的代码并不能直接体现我要定位的是哪个元素,当页面元素变更了,我要去代码中找到该元素定位的代码也是比较困难的,这样就带了维护问题。这里引入我们这

2017-06-25 15:11:51 6172 7

原创 webUI自动化测试框架(二):代码分层-基础层

前言:该webUI自动化框架主要分为四层:基础层、对象层、操作层、用例层,每一层负责各自的功能,这样有益于提高代码的可读性,复用性和扩展性。基础层主要封装了一些工具类,如解析xml文件,读取excel,分浏览器启动,时间处理等,供其他类调用。另外,笔者这边主要使用的第三方库有:TestNG:负责断言、测试脚本的管理以及输出测试报告,安装及使用教程见笔者的另一篇博客:http://blo

2017-06-25 00:44:08 5310 2

原创 webUI自动化测试框架(一):简介和Demo入门

前言:selenium和webdriver是目前主流的ui自动化测试框架之一,selenium又称为selenium RC,基本原理为js注入,而webdriver是直接利用了浏览器的native support(厂商支持)来操作浏览器,所以,对于不同浏览器,必须依赖一个特定的浏览器native component来实现把webdriver API转化为浏览器的native invoke。在我们new出一个webdriver时,selenium首先会确认浏览器的native component是否存在且版本

2017-06-23 10:57:41 17140 1

原创 简介JVM的Parallel Scavenge及Parallel Old垃圾收集器

Parallel Scavenge:是与ParNew类似,都是用于年轻代回收的使用复制算法的并行收集器,与ParNew不同的是,Parallel Scavenge的目标是达到一个可控的吞吐量,吞吐量=程序运行时间/(程序运行时间+GC时间),如程序运行了99s,GC耗时1s,吞吐量=99/(99+1)=99%。Parallel Scavenge提供了两个参数用以精确控制吞吐量,分别是用以控制最

2017-06-05 15:21:50 15489 2

原创 简介JVM的Serial及ParNew收集器

Serial:串行收集器,JVM client模式下的默认收集器,使用复制算法,在进行垃圾回收时会暂停其他所有的工作线程(stop the world,简称STW)直至回收结束,因此会影响用户的正常使用体验,但是因为少了多线程切换的开销,相较于其他收集器能够更加专注于垃圾回收,在单核场景下效率极高,并且在回收较小内存(几十或者一两百兆)时,停顿时间是毫秒级的。推荐使用场景:年轻代占用几十兆到一

2017-06-05 10:38:39 4091

原创 【证】:那些可作为GC Roots的对象

一、名词解释根搜索算法是JVM用来的判断对象是否存活的算法,此算法基本思路为通过一系列的“GC Roots”对象作为起始点,从这些节点往下搜索,当一个对象和GC Roots不可达时,则该对象是无用的,可被回收的。如下图所示:object5、object6、object7虽然互相有关联,但是他们到GC Roots是不可达的,因此他们都可以被回收。       在java中,可作为GC R

2017-06-01 21:06:26 23560 6

原创 jenkins+jmeter实现线上巡检

前言:jenkins+jmeter的组合大家肯定都不陌生,持续集成的意义也不必多说,在此给出jenkins+jmeter的经典组合,希望能给正在做或计划做这项工作的童鞋一点帮助。基本思路:svn维护测试用例.jmx文件及相关参数化文件,jenkins负责调度,jmeter负责执行用例; 具体实现步骤如下:1.前往jenkins官网下载jenkins.war包:https://jen

2017-05-09 11:00:34 2130

原创 Jmeter编写自定义函数

前言:打开jmeter函数助手,我们可以看到,jmeter已经封装好了很多实用的函数,但是有时候,这些函数也并不能完全满足我们实际的测试所需,jmeter的魅力所在就是它的开放性,这个时候我们可以自己封装所需的函数。1.进到目录src\functions\org\apache\jmeter\functions,可以看到已有的函数:2.新增类,继承抽象类AbstractFun

2017-05-08 22:41:04 5892 2

原创 Jmeter httpSampler采样器修改(用于http请求自动拼接签名)

前言:出于安全性考虑,一般公司的框架都有签名验证:验证客户端发送过来的请求是否合法。在测试环境中还可以改debug模式,不校验签名,但是如果要做线上巡检,总不能把正式环境改成debug模式吧,所以,如果我们打算用jmeter做线上巡检,则需要修改jmeter的http采样器。1.找到HTTPHC4Impl类,对应到界面上的选项为:2.由于是在原有类中做修改,代码较为跳跃

2017-05-08 22:04:30 4418

原创 Jmeter CSVDataSet配置器修改(可自定义用例开始行号)

1.修改CSVDataSetBeanInfo类,新增linenumber行号变量:2.CSVDataSetResources.properties配置文件新增行号linenumber项:3.重载FileServer类中的readline方法(建议重载,保留之前的readline方法,以备后面会用到):另外,我这里写的有点坑,因为没有大动作的改源码,只是单纯的用当前行和用

2017-05-08 18:38:59 1735

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除