自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (11)
  • 收藏
  • 关注

原创 2、selenium原理和启动浏览器(Chromoption类)

selenium原理和启动浏览器(Chromoption类)

2022-07-17 09:08:57 1848 1

原创 1、web自动化环境安装(selenium安装、卸载和Chromedriver下载、安装)

web自动化环境安装(selenium安装、卸载和Chromedriver下载、安装)

2022-07-16 12:46:18 858 1

原创 smart原则

2022-04-22 15:47:25 657

原创 番茄工作法则

*

2022-04-10 00:28:28 204

原创 vi 和 VIM 的区别

vi/vim 是 Linux 系统内置的不可或缺的文本编辑命令,VIM 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。vi/vim 的介绍vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。命令模式/一般模式:刚刚启动 vi/vim,则进入一般模式,可以移动光标、复制粘

2022-04-02 10:03:59 16242

原创 会议纪要万能模板

(https://img-blog.csdnimg.cn/0fbf59a34f304528844dd55dc23e3a21.jpg?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5piv5rW35rWq,size_20,color_FFFFFF,t_70,g_se,x_16)

2022-03-27 21:52:01 818

原创 python安装mysql数据库提示Could not install packages due to an OSError:HTTPSConnectionPool

问题一、问题描述二、解决方法一、问题描述python连接数据库,需要导入mysql.connector包,但通过pip命令安装:pip install mysql-connector-python 时,报如下错误:ERROR: Could not install packages due to an OSError:HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Maxretries exceeded with url:

2021-11-02 22:56:14 6748 3

原创 Python中用logging编写属于自己的日志系统

一、日志集成,为什么要写日志?在公司开发的任何一个系统都会有日志设计,通过日志,把系统的行为记录并保存起来,一旦系统发生了一些问题便可以通过日志去分析问题发生在哪里,是因为什么原因发生的。同样,我们在设计测试框架的时候,也可以通过设计日志来记录框架的整个测试流程,一旦执行过程中出现异常,我们也能通过日志中记录的错误信息找到问题发生的症结。Python的logging模块,有关logging我们需要了解如下一些信息:日志分为5个级别,分别是:DEBUG、INFO、WARNING、ERROR、CRITI

2021-10-31 17:00:51 1028 2

原创 常见的RabbitMQ测试点及解决办法

一、RabbitMQ简介RabbitMQ 是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。在使用RabbitMQ的过程当中,经常会遇到的异常场景有:消费者启动后,未显示在队列的Consumers;消费者启动后,消费入库时报错;消费者启动后,输入正确的json,重复入库;消费者启动后,消费但未入库;消费者启动后,消费者刚开始显示,但后来消失(消费者假死);消费者启动后,输入错误的json,消费失败;消费者启动后,消费者堵塞(队列阻塞,无

2021-10-28 22:34:18 2402 2

原创 xpath定位总结

xpath定位总结:nodename :选取此节点的所有子节点。/ :从根节点选取。绝对定位// :从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 相对定位. :选取当前节点。…:选取当前节点的父节点。@ :选取属性。'* :通配符。匹配所有元素节点@* : 通配符。匹配元素的所有属性轴运算:ancestor:祖先结点 包括父parent:父结点preceding:当前元素节点标签之前的所有结点。(html页面先后顺序)例://div//table//td//prece

2021-10-24 23:15:07 179

原创 如何向下属布置工作任务,5个步骤,布置工作任务更清晰

刚做管理者,经常会感到团队工作效率不高,下属执行力不好,很大程度上是布置工作任务出现了问题。布置工作任务看起来简单,但并不容易做好。如何向下属布置工作任务,不要低估这件事的重要程度和难度。一、要有一个能胜任的人二、要有明确的完成时间三、要有明确的完成标准四、 布置完任务,让员工复述一遍五、做好汇报要求,检查进展一、要有一个能胜任的人分配任务一定要落实到具体的人。同时,这个人要能胜任这份工作。胜任的前提,是专业匹配度,这是最基本的要求。比如让程序员去做宣传图、文案做演讲PPT、让销售人员写篇宣传稿子,

2021-09-24 11:11:55 9080

原创 下属工作表现差,评估5个问题

下属表现不满意,先评估五个问题1、日常工作流程2、 关键工作方法3、阶段工作目标4、协作和汇报关系1、日常工作流程第一个问题,下属是否清楚,每天的具体工作内容是什么?不要以为,下属的工作岗位,就是工作内容,这两者大不一样。举个例子,有的岗位叫销售,但销售的具体工作是什么?每个公司都不一样。所以,合格的管理者,要让每个下属,清楚地知道自己的工作内容。比如,小明在大地集团,做企业客户销售工作。他的具体工作内容就是,每天电话沟通30家意向客户,沟通结束后,要利用CRM详细记录每个意向客户的沟通内容。同时

2021-09-23 17:17:04 442

转载 软件测试之对BUG进行错误类型划分

在测试过程中,我们对BUG单可能会进行重要程度的划分,但并不会进行类型划分。其实,如果不对BUG进行错误类型定义,我们并不好确认后续质量提升在哪方面需要进行改进,具体研发或测试的哪个环节更需要进行改进。合理的对BUG单进行分类也是提交BUG的前提。BUG类型分类:一、功能问题二、需求问题三、版本提交问题四、异常处理问题五、UI、UE问题六、性能问题七、安全性问题八、兼容性问题九、建议性问题一、功能问题所有影响功能无法正常使用的问题:没有实现需求所要求的功能实现的功能超出需求范围功能实

2021-09-18 16:45:39 1348

原创 直属上司,才是你最该管的人

在制定工作计划的过程中,找到与目标匹配的资源,是管理者的关键工作。同时,这些资源主要掌握在上司手中,我们在和上司沟通的过程中,要多谈自己需要什么资源,少谈目标的合理性。如何有效的管理自己的老板?说到这,很多人的第一反应是:让我去管老板?这怎么可能,背后透露的信息,是我没有权力管我的老板,所以我不敢去管我的老板。产生这种理解的原因很简单:大多数人把管理看成了权力,但管理的本质,不是权力和头衔,而是资源的争取与调配。当你学会了资源的争取与调配,学会通过他人完成工作,你就随时随地都是一个管理者,根本不需

2021-07-29 16:07:07 947

原创 Python实现接口Excel用例变量设计,测试数据参数化

1、设计用例变量,提高参数灵活性在DoExcel 加入断言,执行测试,完成测试结果回写一文中,自动化测试已经实现了,但是每次还是需要自己手动去修改测试数据,Excel用例的参数列现在也可以来设计一些变量,在do_excel方法中再去替换变量的值,保证唯一性约束的参数每一次测试的时候数据都不一样,使得我们的测试框架可以重复执行,并且免去每次测试前手动修改用例中测试数据的烦恼。2、以注册接口的用例设计为例,如只参数化注册的手机:3、红色标记的${mobile}就是我们要替换的手机号,参数化的手机号我们存

2021-07-13 00:10:38 1100 3

原创 DoExcel 加入断言,执行测试,完成测试结果回写

在测试一个功能模块的时候我们判断一个功能示范正常的途经是直接比较实际测试结果和期望值,同样做接口测试也是一样,在实现接口自动化测试的时候,我们有一个很重要的问题需要解决,就是怎样去比较实际值和期望值。有人会想到用断言的技术来实现unittest的断言确实可以比较两个值是否一样,可以在用例Excel的期望值后面增加一列实际值来记录接口响应的数据,这样当接口项目完成了测试,我们就拿到了所有的接口响应数据,直接对比两列的数据我们就能看出来到底哪些用例测试通过了哪些没有测试通过,把测试结果以及响应结果都写回到Ex

2021-07-11 20:43:04 574 3

原创 Excel数据源结合单元测试、DDT进行测试

结合解决方案—DDT解决批量测试的问题以及接口自动化数据源问题完成接口的批量测试。from common.http_request import HTTPRequest来自接口自动化前期准备及统一封装接口请求from test_http_excel import DoExcel接口自动化数据源问题新建一个run.py文件示范代码如下所示:import unittestfrom ddt import ddt, datafrom common.http_request import HTTPRequ

2021-06-03 00:16:07 251

原创 接口自动化数据源问题

1、常见数据源类型数据源说的是数据的源头,数据来自于哪里。在实现接口自动化测试的过程中,测试数据来源的问题是我们需要去解决的一个重要问题,并且,选择什么样的数据源可能会直接影响到我们测试框架的设计难度,执行效率和扩展性。那么在自动化测试的实现过程中,可以作为数据源的技术有哪些呢?Excel文件:管理方便,操作性强,增加一行一列都非常简单CSV文件:管理方便,操作性强,增加一行一列都非常简单数据库:相对来说没那么容易维护,表设计更复杂,修改表结构都需要通过SQL脚本执行,并且需要自己去实现一套数据

2021-06-02 23:33:40 624

原创 解决方案—DDT解决批量测试的问题

在 单接口的批量测试如何做?中已经将问题抛出,我们该如何去解决这个问题呢?第一种办法是我们自己去编码实现一条解决方案,但是成本太高,而且可能写出来的框架有很多问题,第二种办法就是去找一些第三方的框架来帮助我们来解决这个问题,而ddt正是我们想要找的这样一个框架,我们准备一个测试方法,并把测试数据分离开来存储,测试方法代码如下:...

2021-05-31 23:59:19 303

原创 单接口的批量测试如何做?

1、痛点—一条用例一个测试方法在接口自动化前期准备及统一封装接口请求中,已经写代码实现了登录接口的处理调用,但是一个接口往往是需要多条测试用例才能完整的覆盖到每一种情况,针对对单接口多条测试用例需要执行的情况,该如何处理呢?在unittest的测试类中定义多个测试方法来完成测试,这可能是大家最先想到的一个解决方法,当然也是能够达到目的的,以下面的注册接口为例,我们基于此思路来编码实现接口的完整测试。接口业务:会员注册接口地址:http://test.lemonban.com/futureloan/

2021-05-31 23:01:09 415 2

原创 接口自动化前期准备及统一封装接口请求

在python中可以使用requests这个第三方的库来解决接口调用一系列问题,方便,快速,并且简单。1、在做接口测试前,我们要做好数据分离,建好不同的package以及不同的目录,方便我们后期归纳整理代码,方便我们调用,达到最高的复用性。新建一个项目,命名为:auto_test_interface新建一个package,命令为common,专门放公用代码新建一个directory,命名为test_data,专门放测试数据新建一个directory,命名为test_result,下面有2个子目录

2021-05-30 23:10:29 732

原创 requests之get发送带cookie的请求

1、有一些请求之间是有关联的,这个时候就需要用到cookie来帮助我们完成请求。比如说我们的接口有一个这样的场景:登录之后充值,必须登录成功才能给账户进行充值。登录地址: http://test.lemonban.com/futureloan/mvc/api/member/login登录参数:{‘mobilephone’: ‘18688773465’, ‘pwd’: ‘123456’}充值地址:http://test.lemonban.com/futureloan/mvc/api/member/rec

2021-05-30 00:19:28 6339

原创 requests之get请求带参数示例详解

具体见以下详细步骤获取响应数据获取请求头获取响应头、状态码有两点需要引起注意:a、响应结果一般有三种格式:HTML、json、textb、text方法返回的是字符串格式的内容获取cookiecookie是一种类字典的数据格式,如果我们想把字典的值打印出来,可以根据key值去获取并打印出来,或以字典形式查看cookie以上操作步骤,代码如下所示:import requests# 1.发起请求后得到的响应数据存在res里面res = requests.get('ht

2021-05-29 23:55:18 15477

原创 python requests完成接口请求

1、requests安装在cmd里直击输入:pip install request就可以安装成功。2、requests模块的介绍python的标准库urllib提供了大部分HTTP功能,但使用起来较繁琐。通常,我们会使用另外一个优秀的第三方库:Requests,Requests提供了很多功能特性,几乎涵盖了当今Web服务的需求,比如:浏览器式的SSL验证身份认证Keep-Alive& 连接池带持久 Cookie的会话流下载文件分块上传requests提供了如下几种HTTP的请求

2021-05-29 20:21:32 532

原创 测试用例添加断言及异常处理

一、测试用例添加断言在做功能测试时,编写好用例之后,确定用例是否通过的评判标准就是期望结果是否等于实际结果,如果相等,就是pass,否则就是Fail,unittest单元测试模块里面也有这种可以做期望结果和实际结果比对的方法,就是:断言。断言有很多种,以下罗列出几种比较常用的断言:比较常用的就以上这几种了,这里我们去修改→ 用unittest做单元测试,编写测试用例详细操作步骤 中的测试类,添加assertEqual断言到我们的测试类里面去,示范代码如下所示:二、添加异常处理断言结果如果测

2021-05-25 22:52:48 2110

原创 没有目标,是一切问题的根源

如何提高团队的凝聚力?新团队彼此都不服怎么办?看过很多书但没效果怎么办?很难养成早起习惯怎么办?专注力不够怎么提升工作效率?看上去,这些问题的角度完全不同,而且都很具体。但在本质上,都是一个原因造成的,那就是没有管理好自己的目标。没有目标,是一切问题的根源1、没有目标,是一切问题的根源2、目标的本质是一种评价比目标更重要的是目标感1、没有目标,是一切问题的根源我们以第一个问题为例,如果提高团队凝聚力?首先要思考的,就是凝聚什么?是凝聚成一种斗志昂扬的工作氛围?还是凝聚在一个领导者身边?其实

2021-05-25 15:10:14 390

原创 管理就是把人和事做到充分结合

管理就是把人和事做到充分结合1、人是管不住的2、用事来管人3、管事的过程中关心人4、态度是很难改变的1、人是管不住的没有经验的管理者,经常会工作中产生一种主观情绪-----员工不太好管。然后,开始私下抱怨,现在的年轻人,工作态度越来越不积极。其实,这些管理者都没有弄清楚一个问题,人是管不住的。一听到这儿,肯定有些同学会很迷茫,甚至会质疑,既然管不住人,那还做什么管理。从两个方面,展开解释一下。首先,从人的本性来讲,没有人喜欢被管理,更没有人喜欢被定义。不信,你去私下里做一些调查了解,哪怕是那些工作

2021-05-24 16:08:20 812

原创 比制定目标更重要的是管理资源

管理资源。管理资源的本质,是通过他人完成工作。这个过程中,需要寻找资源,调动团队。但是,大部分管理者,因为缺少经验,并不重视寻找资源,经常陷入单打独斗的局面。他们甚至认为,寻找资源是能力不够的表现。比制定目标更重要的是管理资源1、工作计划的关键是寻找资源2、目标是不合理的3、多和上级讨论资源1、工作计划的关键是寻找资源刚带团队时,很多人都遇到一种情况:制定好的团队目标,总是完不成。然后,他们会认为团队不努力,或者能力不行。其实,真正的原因是:他们被提拔为管理者之后,并没有及时改变原有的工作方式。被

2021-05-24 13:38:16 411

原创 unittest用例执行完,生成HTML格式的测试报告

如何编写用例及用例执行,具体请参考1、用unittest做单元测试,编写测试用例详细操作步骤2、用unittest生成测试集及执行测试用例3、unittest用例执行完,生成txt格式的测试报告HTMLTestRunnerNew.py文件下载链接:https://pan.baidu.com/s/15c8b1nMhEY0essrxJqCzBQ提取码:b9c8安装一个HTMLTestRunnerNew.py文件,这个会生成一个HTML格式的报告,具有阅读性,且会把数据都整理起来,我们下载好HTML

2021-05-23 21:02:07 637 10

原创 unittest用例执行完,生成txt格式的测试报告

如何编写用例及用例执行,具体请参考1、用unittest做单元测试,编写测试用例详细操作步骤2、用unittest生成测试集及执行测试用例用例执行完毕了,最后我们要生成测试报告,其实TextTestRunner是能够直存储测试结果的,部分源码如下所示:resultclass = unittest.TextTestResult # 这里就是收集的测试结果def __init__(self, stream=None, descriptions=True, verbosity=1,

2021-05-23 19:08:36 468

原创 用unittest生成测试集及执行测试用例

在【用unittest做单元测试,编写测试用例详细操作步骤】中了解了如何编写测试用例,那么接下来我们要做的是,如何把用例加载进来,在【用unittest做单元测试,编写测试用例详细操作步骤】看到的是利用unittest.main()执行所有的用例,但是有的时候我们是不需要执行所有的用例的,可以按照自己的需求去添加用例。这个时候就要使用TestSuite来帮助我们更好的实现单元测试了。新建一个模块test_math_suite,示范代码如下所示:#创建测试集要记得引入unittest以及测试类模块#

2021-05-23 14:01:18 1252

原创 用unittest做单元测试,编写测试用例详细操作步骤

废话不多说,具体如下:一、什么是unittest?unittest模块是python自带的一个单元测试模块,我们可以用来做单元测试。unittest模板包含了如下几个子模块:测试用例:TestCase测试集:TestSuit加载用例:TestLoader执行用例:TextTestRunner这四个都是unittest模块中的类,整个单元测试的工作模块,就是这几大类。二、了解了什么是unittest,来编写自己的第一个测试类eg:编写一个数学方法类,类里面有加法以及减法两个函数。代码如

2021-05-23 13:26:03 3930 2

原创 7、和上司沟通,切记这三点常识

和上司沟通,是每个管理者都要掌握的能力,首先,很少有人真正擅于和上司沟通,其次,有些业务能力很强的人,沟通能力很弱。更让人感到遗憾的是,很多人,不擅于,不乐于和上司沟通,并非本意。只是由于紧张,没经验又不知道该怎么做。这也导致很多人明明能力不错,却在无形中失去了很多发展机会!以下将分享三点常识,让你和上司沟通更顺畅以下将分享三点常识,让你和上司沟通更顺畅1.不要担心说错话2.尽量少说废话3.如实反馈困难1.不要担心说错话很多人在工作中,因为怕说错话,而不敢和领导交流,虽然这是可以理解的,但不说话.

2021-05-21 19:22:57 281

原创 Jmeter实现IP欺骗及注意事项(快速添加200个ip,快速存储200个IP参数)

步骤一:在jmeter所在计算机中添加多个IPnetsh interface ip add address"本地连接"192.168.1(本机ip) 255.255.255.0(子网掩码)步骤二:创建参数化文件,存储多个ip地址IP地址必须跟上面添加的计算机IP完全一致。示例:在本机批量生成200个ip及存储首先可直接在桌面新建一个txt文件,改名为XX.bat,如下图其次在XX.bat文件里面编写批量生成ip脚本,最后点击XX.bat,执行成功查看XX.txt文件数据是否生成成功!for

2021-05-05 23:47:26 771 1

原创 如何利用jmeter测试websocket接口

1、测试环境准备安装jmeter-plugins,下载后放到lib/ext路径下具体要求看 https://jmeter-plugins.org/install/Install/2、开始测试添加一个websocket Sampler地址:echo.websocket.org参数:随便发送一个查看结果,确定是否请求成功...

2021-04-29 22:35:39 233

原创 什么是websocket协议

1、为何会出现websocket?特点:客户端主动发起,服务器不能主动发送缺点:对于实时要求高、海量并发的应用来说显得捉襟见肘websocket是类似socket的TCP长连接通讯模式。一旦websocket连接建立后,后续数据都以帧序列的形式传输。在客户端断开websocket连接或server端中断连接前,不需要客户端和服务器端重新发起连接请求。在海量并发及客户端与服务器交互负载流量大的情况下,极大的节省了网络宽带资源的消耗,有明显的性能优势,且客户端发送和接受消息是在同一个持久连接上发起,实时

2021-04-29 22:05:47 157

原创 1、软件测试为什么要自动化?自动化测试的优缺点有哪些?

理解软件自动化1、自动化测试的含义2、软件测试为什么要自动化?3、自动化测试的优点?4、自动化测试的缺点?5、自动化测试应用场合6、不正确的自动化测试期望7、自动化测试工具的选择1、自动化测试的含义自动测试就是用程序代替人的手工操作,完成一系列测试的过程。自动化工具能自动打开程序、自动执行测试用例、自动查找控件、自动产生数据、自动输入数据、自动操作控件、自动收集结果、自动比较实际结果与预期结果是否一致。2、软件测试为什么要自动化?软件测试是一件工作量巨大的工作软件测试包含大量的重复性操作;

2021-01-28 15:29:44 2578

原创 什么是性能测试?谁关注性能?

一、性能测试的含义1、什么是性能测试测试软件的性能表现,考量软件运行的如何。一般关注时间/效率、资源占用等情况。既要马儿快点跑,又要马儿少吃草。2、什么时候进行性能测试已通过系统测试,功能比较稳定。3、谁关注性能3.1用户用户体会到的性能是软件对用户操作的响应时间,是用户从提交或输入一个url地址到系统将全部数据呈现出来的时间。3.2系统管理员和性能测试工程师除与用户的视角一样外,还关注与系统状态相关的信息,如系统资源的使用情况,包括CPU的使用、内存的使用情况、磁盘I/O

2021-01-25 22:21:18 697 1

原创 2、网络基础知识

一、计算机网络概念与分类1、计算机的定义计算机网络是在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具 有独立功能的多个计算机系统连接起来,通过网络操作系统等网络软件实现通信和资源共享 的系统。 计算机网络中至少拥有两台以上的计算机。 传输媒体和通信设备把若干台计算机连接到了一起。 为需要网络软件,含操作系统。 为了正确地通信,需要有一个共同遵守的约定——通信协议。 把多台计算机连接在一起,形成一个网络,是为了通信和资源共享。2、计算机网络的分类 根据覆盖地理范围

2021-01-17 21:58:59 197

原创 6、如何制定升职加薪计划?

如何制定升职加薪计划?1、做计划之前要先想清楚什么?2、升职加薪计划的4种方案3、升职加薪计划中的常见问题1、做计划之前要先想清楚什么?目标(必要性:心里想要什么?)→计划(合理性:怎么能够实现?)计划为目标服务你的升职加薪目标是什么?你的升职加薪目标足够明确吗?不满→现在挣得太少→发挥空间不足→工作不感兴趣愿望→工资再高一点→实现更大价值→每天更有激情目标→至少涨20%→晋升做负责人→换个好工作你的具体目标是什么?最低目标:至少带一个人,哪怕实习生也行,我可以自己招聘满意目标:晋升做小

2021-01-13 22:43:11 448

软件测试——缺陷管理规范.docx

软件缺陷管理是软件测试的重要内容之一,确保测试人员发现的所有缺陷能够得到适当的处理,并且避免处理缺陷进行有效管理,为了便于缺陷的管理,需要从不同的角度对缺陷进行分类,如缺陷严重级别、缺陷优先级别,缺陷状态、缺陷错误类型划分准则等。

2021-11-01

软件测试计划模板.doc

模板里面包含了项目背景、目标、目的,测试策略、测试完成准则、测试范围、测试方法、资源需求、时间进度安排、测试过程管理、缺陷处理、测试报告等等,有问题或者有需要可以私聊博主!

2021-11-01

Monkey操作方法及log日志定位.docx

Monkey操作方法及log日志定位

2021-10-08

rabbitMQ的api及规范说明书.doc

Mq 一种应用程序对应用程序的通信方法. AMQP 一个提供统一消息服务的应用层标准高级消息队列协议 Erlang Erlang是一种通用的面向并发的编程语言,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

2020-07-24

JMeterPlugins-Extras.jar

jmeter中的插件,方便我们性能测试使用,放在jmeter目录下的lib\ext目录中,需配合JMeterPlugins-Standard使用

2020-06-09

JMeterAMQP.jar

编译好的AMQP包,放到jmeter--lib/ext目录下,可通过AMQP publisher和AMQP consumer向rabbitmq发布订阅信息,AMQP Publisher"为消息的生产者,即往队列发送消息的主体;"AMQP Consumer"为消息的消费者,即接收队列消息的主体。

2020-06-09

ApacheJMeter_core.jar

Apachejmeter_core.jar包是经过处理的jar包,可解决jmeter报告中文乱码问题。下载后直接文件替换JMETER_HOME\lib\ext\ApacheJMeter_core.jar 内的原文件

2020-06-09

amqp-client-3.4.4.jar

下载 RabbitMQ客户端插件amqp-client-3.4.4.jar,并放在Jmeter的lib/ext目录;一定要用3.X版本,否则跟源码不兼容,当然有编码能力的同学可以随意改造

2020-06-09

Jenkins管理员操作手册.docx

介绍了Jenkins从安装、配置到构建、包含插件管理、邮件管理、系统启动和重启 Jenkins管理员操作手册 1.服务器工具安装 1.1.Jdk安装 安装软件:jdk-6u20-windows-x64,按提示安装即可。 设置环境变量: JAVA_HOME= C:\Program Files\Java\jdk1.6.0_20 Path= C:\Program Files\Java\jdk1.6.0_20\bin;C:\Program Files\Java\jre6\bin; CLASSPATH= C:\Program Files\Java\jdk1.6.0_20;C:\Program Files\Java\jdk1.6.0_20\lib;C:\Program Files\Java\jdk1.6.0_20\lib\tools.jar; 1.2.Ant安装 Ant安装包路径加入环境变量,软件:apache-ant-1.8.4 Ant_Home=C:\ant\apache-ant-1.8.4-bin\apache-ant-1.8.4 Path = C:\ant\apache-ant-1.8.4-bin\apache-ant-1.8.4\bin classpath = C:\ant\apache-ant-1.8.4-bin\apache-ant-1.8.4\lib 1.3.Jenkins安装 下载jenkins.war, 拷贝到E:\jenkins下,然后运行java -jar jenkins.war 设置环境变量 JENKINS_HOME=E:\jenkins 访问http://localhost:8080 , jenkins的主界面如下: 2.系统配置 2.1.主目录和工作空间目录配置 在已运行的Jenkins主页中,点击左侧的系统管理—>系统设置进入如下页面。 主目录:JENKINS_HOME的目录,E:/AutoCompile/20990101 工作空间目录:Jenkins在此处取代码,编译。   2.2.JDK和Ant配置 配置一个JDK和ANT安装路径:JAVA_HOME和ANT_HOME即可。 2.3.SVN配置 Subversion Workspace Version:SVN的版本号,选择你对应的版本号 2.4.邮件通知配置 配置发件人地址   系统管理员邮件地址:Jenkins邮件发送地址  配置邮件通知 3.构建任务 增值服务器端,配置了编译模板“compile_templet”,CM维护时修改此模板即可。项目经理新建构建任务时,选择“复制已有Item”复制任务名称 “compile_templet”,提交上线编译单即可。 3.1.新建构建任务 Jenkins主页中,点击左侧的“新建”进入如下界面 选择构建一个自由风格的软件项目,填写描述: SVN编译URL路径,SVN用户名和密码等信息: 增加构建步骤,可以填写相应的bat脚本内容 输入相应脚本命令即可。 3.2.执行构建 构建任务页面左侧,点击“立即构建“,构建历史即显示编译状态。 3.3.编译日志查看 Build History,点击构建#2,在新窗口中点击Console Output查看编译日志 3.4.构建配置和删除 在构建任务页面中,点击“配置”可修改3.1节内容。 点击“删除Project”可以删除该编译任务。 3.5.构建任务管理 在Jenkins主页面中可以进行所有构建任务的管理。立即构建,删除构建任务操作。 如上图:S栏目代表着“最新构建状态”,W栏目代表着“构建稳定性”。Jenkins使用这两个概念来介绍一个作业的总体状况。 构建状态:下图中分级符号概述了一个Job新近一次构建会产生的四种可能的状态:  Successful:完成构建,且被认为是稳定的。 Unstable:完成构建,但被认为不稳定。 Failed:构建失败。 Disabled:构建已禁用。   构建稳定性: Jenkins会基于一些后处理器任务为构建发布一个稳健指数 (从0-100 ),分数越高,表明构建越稳定。下图中分级符号概述了稳定性的评分范围。任何构建作业的状态(总分100)低于80分就是不稳定的。   4.用户权限管理 4.1.安装用户管理插件 参照第5章插件管理,安装插件:“Role Strategy Plugin” 4.2.用户新增 Jenkins系统管理页面,“管理用户” 新页面,点击“新建用户” 填写相应用户名和密码,点击sign up即可。 4.3.用户权限管理 Jenkins系统管理页面,点击“Manage and Assign Roles” 如下页面中配置: “ Manage Roles” 中对权限进行配置: 全局权限和项目权限: Global roles:全局权限。配置admin和readonly权限。admin可以对Jenkins系统的配置进行修改,对项目人员不开放此权限。readonly为匿名登陆只读权限。 Project Roles: 项目权限。对项目经理和开发人员开放此权限。 Pattern中配置权限对应的编译项目,NB.* 表示以NB开头的项目。 注:1.全局权限会覆盖项目权限中的设置。 2.项目权限中Job的Delete权限不开放,由配置人员控制。 “ Assign Roles” 中对权限进行分配: 如图,管理员权限:分配admin 项目经理权限:分配 compile权限 。 5.插件管理 系统管理-管理插件: “可选插件”中,过滤要安装的插件: “直接安装”即可,安装完后重启Jenkins。 6.邮件管理 按照2.4节配置好Jenkins系统的邮件账户后 在构建任务-“配置”页面,点击“增加构建后操作步骤”,选择“Editable Email Notification” 配置邮件通用格式配置: “Advanced Setting”配置失败和成功通知邮件。 7.系统启动和重启 关闭Jenkins运行窗口,再运行java -jar jenkins.war

2020-04-13

svn目录使用规范.doc

介绍SVN各个目录使用规范 Svn目录使用规范 TortoiseSVN客户端工具 选择创建SVN目录结构的选项(生成trunk、branches、tags目录),如下图: 1、 trunk是主分支,是日常开发进行的地方。 2、branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。 3、tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 注:在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trunk上时创建个版本标识 Trunk目录:Doc(文档库,放项目相关文档类)、sourcecede(代码库) Doc目录下按项目存放文档,以下以proj1为例做说明 Proj1----项目名 1、Controlled------组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下。(一般用不到) 2、Develop---开发文档 2.1、Design----设计文档 2.1.1、DbDesign---数据库设计文档 2.1.2、HLD---概要设计 2.1.3、InterfaceDesign---接口设计 2.1.4、ServiceDesign---服务设计 2.2、REQ---需求文档 2.3、SRS---软件需求规格说明 2.4、Test---测试文档 2.4.1、Review---可空 2.4.2、TestCese---测试用例 2.4.3、TestDoc---测试文档 2.4.4、TestEnv---测试环境说明 2.4.5、TestReport---测试报告 3、Document---项目文档 4、Management---管理文档 4.1、Meetings--会议纪要 4.2、PIM--- 4.3、Plan---计划 4.3.1、review 4.3.2、SDP---软件开发策划文档 4.3.3、SPP---软件项目策划文档 4.4、report---报告 4.4.1、Milestonereport---版本报告 4.4.2、ProjectTrackReport---项目跟踪报告 4..4.3、SCM---软件配置管理文档  4.4.4、SQA---软件质量保证计划 4.4.5、项目周报 4.5、Sow---工作说明书 4.6、Summarize---总结 4.7、Template---模板 4.8、Trainning---培训文档 打标签/分支有两种方式: 1、选中项目,就是trunk下的本地项目,右击,选中Branch/Tag,出现如下对话框。 下图中的配置完成了之后,点击OK即可完成“打标签/分支”。 2、直接在SVN上在对应的标签/分支目录下创建对应的版本文件夹,将trunk下稳定版本的代码直接copy到对应的文件目录下即可。

2020-04-13

JMeter操作手册大全.docx

从35个方面对Jmeter从原理到实际演示,一册在手,天下我有 1.性能测试基本概念 1.1.RT -Response time 请求响应时间 从客户端发出请求到得到响应的整个时间 一般包括网络响应时间+server的响应时间。 用户接受准则: 例如2-5-10原则,即按照正常用户体验,如果用户能够在2秒内得到响应,会感觉速度很快,如果2-5秒得到响应,用户感觉系统的响应速度还不多,在5-10秒之内得到响应时,用户会感觉系统的响应速度慢,但是可以接受,超过10秒后还没有响应,用户就会感觉不能够接受。 不同行业不同业务可接受的响应时间是不同的,一般情况,对于在线实时交易: 互联网企业:500毫秒以下,例如淘宝业务10毫秒左右。 金融企业:1秒以下为佳,部分复杂业务3秒以下。 保险企业:3秒以下为佳。 制造业:5秒以下为佳。 1.2.系统处理能力 系统处理能力是指系统在利用系统硬件平台和软件平台进行信息处理的能力。系统处理能力通过系统每秒钟能够处理的交易数量来评价,交易有两种理解: 一是业务人员角度的一笔业务过程; 二是系统角度的一次交易申请和响应过程。 前者称为业务交易过程,后者称为事务。两种交易指标都可以评价应用系统的处理能力。一般的建议与系统交易日志保持一致,以便于统计业务量或者交易量。系统处理能力指标是技术测试活动中重要指标。 1.1.1.简称 一般情况下,用以下几个指标来度量: HPS(Hits Per Second) :每秒点击次数,单位是次/秒。 TPS(Transaction per Second):系统每秒处理事务数,单位是笔/秒。吞吐量。 不可分割的。要么完全成功,要么完全失败。 QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。 对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS, 一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器点击请求。 每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。 1.1.2.标准 无论TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下: 金融行业:1000TPS~9000TPS,不包括互联网化的活动 保险行业:100TPS~1000TPS,不包括互联网化的活动 制造行业:10TPS~50TPS 互联网电子商务:10000TPS~100000TPS,例如天猫5万TPS 互联网中型网站:100TPS~500TPS 互联网小型网站: 50TPS~100TPS 1.3.并发用户数量 常见的错误理解: 使用系统的全部用户数量(注册用户) 使用系统的全部在线用户数量 正确理解 并发用户数指在同一时刻内,打开系统并进行业务操作的用户数量,并发用户数对于长连接(数据库连接时长连接,web请求时短连接)系统来说最大并发用户数即是系统的并发接入能力。对于短连接系统而言最大并发用户数并不等于系统的并发接入能力,而是与系统架构、系统处理能力等各种情况相关 http:请求只能由客户端发出,服务端被动响应。 1.1.3. 简称 Virtual User: VU 1.1.4.标准 一般情况下,性能测试是将系统处理能力容量测出来,而不是测试并发用户数,除了服务器长连接可能影响并发用户数外,系统处理能力不完全受并发用户数影响,可以用最小的用户数将系统处理能力容量测试出来,也可以用更多的用户将系统处理能力容量测试出来。 并发用户数量: 并发用户多少为好? 中小企业:5000用户 1.4.错误率 1.1.5. 定义及解释 错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。稳定性较好的系统,其错误率应该由超时引起,即为超时率。 1.1.6.标准 不同系统对错误率的要求不同,但一般不超出千分之六,即成功率不低于99.4% 1.5.CPU 定义及解释 中央处理器是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU Load: 系统正在干活的多少的度量,队列长度。系统平均负载。 CPU指标主要指的CPU利用率,包括用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)。CPU 利用率要低于业界警戒值范围之内,即小于或者等于75%;CPU sys%小于或者等于30%, CPU wait%小于或者等于5%。单核CPU也需遵循上述指标要求。 7*24不允许宕机 1.6. Memory 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。 现代的操作系统为了最大利用内存,在内存中存放了缓存,因此内存利用率100%并不代表内存有瓶颈,衡量系统内有有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会引起系统性能低下。 Swap解释: 当物理内存接近崩溃时,将物理内存中最近一段时间最少频率使用到的页框移出物理内存,放进该存储空间,这段存储空间我们称之为交换空间(Swap) 1.7.磁盘吞吐量 Disk Throughput. 磁盘吞吐量是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。 磁盘指标主要有每秒读写多少兆,磁盘繁忙率,磁盘队列数,平均服务时间,平均等待时间,空间利用率。其中磁盘繁忙率是直接反映磁盘是否有瓶颈的的重要依据,一般情况下,磁盘繁忙率要低于70%。 1.8.网络吞吐量 Network Throughput 10Mbit带宽,每秒传输的字节数1.25MBytes 网络吞吐量是指在无网络故障的情况下单位时间内通过的网络的数据数量。单位为Byte/s。网络吞吐量指标用于衡量系统对于网络设备或链路传输能力的需求。当网络吞吐量指标接近网络设备或链路最大传输能力时,则需要考虑升级网络设备。 网络吞吐量指标主要有每秒有多少兆流量进出,一般情况下不能超过设备或链路最大传输能力的70%。 2.性能测试基本流程 性能测试需求: 1)最终用户体验,例如2-5-10原则,即按照正常用户体验,如果用户能够在2秒内得到响应,会感觉速度很快,如果2-5秒得到响应,用户感觉系统的响应速度还不多,在5-10秒之内得到响应时,用户会感觉系统的响应速度慢,但是可以接受,超过10秒后还没有响应,用户就会感觉不能够接受。 2)技术需求, cpu,内存,网络吞吐量,磁盘吞吐量 3)标准要求: 竞品分析- 响应时间 互联网企业:500毫秒以下,例如淘宝业务10毫秒左右。 金融企业:1秒以下为佳,部分复杂业务3秒以下。 保险企业:3秒以下为佳。 制造业:5秒以下为佳。 TPS 金融行业:1000TPS~9000TPS,不包括互联网化的活动 保险行业:100TPS~1000TPS,不包括互联网化的活动 制造行业:10TPS~50TPS 互联网电子商务:10000TPS~100000TPS,例如天猫5万TPS 互联网中型网站:100TPS~500TPS 互联网小型网站: 50TPS~100TPS 性能测试计划 测试环境,测试需求,测试方法,测试时间表,测试组织架构,测试风险,输入输出文档 性能测试步骤: 性能测试执行 3.性能测试工具 4.Jmeter简介 4.1.Jmeter的基本概念 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言 4.2.我们为什么使用Jmeter 开源免费还很好用,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试,压力(负载和压力)测试等多种功能,支持录制回放,入门简单 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试 多平台支持,可在Linux,Windows,Mac上运行 5.Jmeter安装配置及目录结构 5.1.Windows下Jmeter下载安装 登录 http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件 安装JDK,配置环境变量(具体步骤不做介绍) 将下载Jmeter文件解压,打开/bin/jmeter.bat 5.2.Jmeter的目录结构 /bin 目录(常用文件介绍) examples:目录下包含Jmeter使用实例 ApacheJMeter.jar:JMeter源码包 jmeter.bat:windows下启动文件 jmeter.sh:Linux下启动文件 jmeter.log:Jmeter运行日志文件 jmeter.properties:Jmeter配置文件 jmeter-server.bat:windows下启动负载生成器服务文件 jmeter-server:Linux下启动负载生成器文件 /docs目录——Jmeter帮助文档 /extras目录——提供了对Ant的支持文件,可也用于持续集成 /lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录 /licenses目录——软件许可文件,不用管 /printable_docs目录——Jmeter用户手册 6.Jmeter简单入门 6.1.修改语言 6.2.创建测试计划 6.3.添加线程组 6.4.添加sampler设置http请求 6.5.添加结果树 6.6.查看结果 7.测试计划 独立运行每个线程组: 再每一组运行结束后启动下一个 Run tearDown Thread Groups after shutdown of main threads:   主线程关闭运行后拆除线程组, 8.线程组 Delay Thread creation until needed                延迟创建线程,直到该线程开始采样,即之后的任何线程组延迟和加速时间为线程本身。这样可以支持更多的线程,但不会有太多是同时处于活动状态。  持续时间(秒):测试计划持续多长时间,会覆盖结束时间。  启动延迟(秒):测试计划延迟多长时间启动,会覆盖启动时间。 9.Sampler --HTTP请求 请求方式 请求路径 请求ip 请求协议 请求编码 重定向之前的和之后的请求都会在结果树中显示出来 自动重定向,只会显示重定向之后的地址。 10.结果收集 10.1.查看结果树 10.2.表格查看结果 偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。 10.3.聚合报告 10.4.Summary Report 11.Jmeter参数化 11.1.用户定义的变量 使用配置原件中用户定义的变量可以进行参数化 11.2.用户参数 使用前置管理器设置用户参数 11.3.使用csv配置原件 配置元件(Config E

2020-03-24

空空如也

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

TA关注的人

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