- 博客(111)
- 收藏
- 关注
转载 selenium之常见键盘的操作
键盘操作需要通过send_keys()方法来进行输入内容,输入的内容可以根据用户需求指定输入键盘所有按键,键盘的操作需要结合导入keys类来进行使用;1. 删除键(BackSpace):send_keys(Keys.BACK_SPACE)2. 空格键(Space):send_keys(Keys.SPACE)5. 回车键(Enter):send_keys(Keys.ENTER)3. 制表键(Tab):send_keys(Keys.TAB)4. 回退键(Esc):send_keys(keys.ESCAPE)
2024-02-04 10:23:47
957
原创 Pycharm在下载安装第三方库时速度慢或则超时(不是pip提速)
为了学习python读取文件,需要下载pandas,但是在pycharm->seeting->python interpreter下载pandas很慢,迟迟下载不成功;
2023-12-22 11:39:35
1495
原创 jmeter(三十三):阶梯线程组Stepping Thread Group,并发线程Concurrency Thread Group
以打开CSDN首页https://www.csdn.net/为例。每步0.1分钟(0.5分钟除以5步)。Stepping Thread Group参数详解。现在官方不建议使用阶梯式线程组,建议使用并发线程组。每步20个用户(100个用户除以5步)达到100个线程后,所有这些线程。,直到达到100个用户。持有目标速率半分钟;
2023-10-16 17:46:39
1086
1
原创 并发数计算方法
性能测试的TPS,大都是根据用户真实的业务数据(运营数据)来计算的普通计算方式:TPS=总请求数/总时间二八原则计算方法:TPS=总请求*0.8/总时间*0.2 (二八原则就是指80%的请求在20%的时间内完成)总结:普通计算方式只能满足基本的要求,但是不能很好覆盖系统正常的使用情况,二八原则计算方法能满足系统对大多数情况下的应用。
2023-10-16 15:41:58
1312
原创 python+selenium实现修改日期控件的值
在实现过程中,我遇到了一些问题,比如去掉readonly属性之后,重新赋值没有成功,后来又加了一行代码, self.driver.find_element(By.XPATH,"//*[@id='root']/div/div[2]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div/div[1]/div/form/div[2]/div/div/span/span/input") .clear() 目的就是把原来的默认值删掉;
2023-09-01 16:05:58
1071
原创 requests.exceptions.InvalidHeader: Invalid leading whitespace, reserved character(s), or...
报上面错是因为,有空格导致,把空格删掉即可;
2023-08-29 14:10:08
1623
原创 request+python操作文件导入
图中标注的就是我们需要的参数,其中 name是参数名,filename是文件名,Content-Type是上传文件的类型,不管上传图片,视频,还是excel等文件类型,其参数都是这3种,将下面3个参数放在接口;注意:在执行代码会出现以下错误:OSError: [Errno 22] Invalid argument。而导致的错误,也就是说加上r之后,“”里的就不再出现转义字符,编程纯的文件地址。别着急,出现这个是因为平台的bug,像pycharm,,r"file":意思是指为了避免\xx是一个。
2023-08-29 11:02:13
754
原创 Jmeter(三十一):制造大批量的用户数据数据
需求:因测试需要,要造100w用户数据,通过用户名、手机号、密码可新增用户,其中用户名和电话号码要求100w用户不能重复。符合我们常用规则的手机号:第一位为1,第二位为3-9,后面的9位为0-9即可。1、通过Bean shell Sampler实现用户名和手机号的足够随机。以上一行代码将用户名和手机号联系起来,实现了用户名的随机。以上两行代码实现了手机号后9位在1-9之间随机分配。以上两行代码实现了手机号第二位在3-9之间随机分配。2、通过循环控制器使之循环100w次。以上四行代码实现了手机号的足够随机。
2023-08-28 18:22:37
1457
原创 Jmeter(三十):并发测试(设置集合点)
所以当timeout设置为0,但是线程数又不满足集合点中设置的值时,就会一直等待,不执行请求,需要手动stop。如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行。分2组,发现先有4个请求,为第一组,5秒后,出现后2个请求,为第二组,共6个。原因:不够并发数且超时为0。场景三:线程数设置6,集合点设置为4,超时为0,点击运行。场景四:线程数设置6,集合点设置为6,超时为0,点击运行。场景一:线程数设置为6,集合点为3,超时为0,点击运行。
2023-08-28 17:44:09
1243
原创 Jmeter(二十八):beanshell的使用
在此介绍下BeanShell PreProcessor的用法,其它的beahshell可以类推。用addClassPath("D:\\")方法引入 class文件,在用import导入包及类,然后就可以像java一样调用了。1、上一篇中已使用过的:把jar包放到jmeter目录\apache-jmeter-2.13\lib\ext下。a、bean shell可以接受传入参数,如下图:${u1} ${u2} ${u3}1、直接把上例中的java文件编译成class文件,如何编译请自行百度。
2023-08-27 20:47:04
1017
原创 Jmeter(二十七):BeanShell PostProcessor跨线程全局变量使用
稍后补充:https://www.cnblogs.com/insane-Mr-Li/p/10146302.html
2023-08-27 20:28:13
1144
原创 Jmeter(二十六)、详解jmeter函数和变量
JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用。其中,__functionName匹配被调用的函数名称。用圆括号包含函数的形参,例如${__time(YMD)},不同函数要求的参数也不同。有些JMeter函数不要求参数,则可以不使用圆括号,例如${__threadNum}。如果一个函数的参数中包含逗号,那么必须对逗号进行转义(使用"\"),否则JMeter会把逗号当成参数分隔符。
2023-08-22 21:14:39
295
原创 JMeter(二十五)、一些概念的理解---90%响应时间、事务、并发
那么它的第90%百分位,也就是第9个数刚好是9 ,那么他的90%Line 就是9。2、2.1、2.5、3、3.4、3.4、4、4、4、4、5、5、5、5.9、5.91、6.8、8、12、24、24.1 按由小到大将其排列。如果事务中增加思考时间,运行结果统计的事务响应时间是包括思考时间的,所有场景的设计,脚本的设置,对测试结果是有影响的,具体需要根据需求进行设计。应用A,每个select查询需要1ms, 一个connection的话,一直不停的执行,1S内 可执行1000次,也就是1000qps。
2023-08-04 14:42:41
1020
原创 JMeter(二十四)、使用吞吐量控制器实现不同的用户操纵不同的业务
需求:博客系统,模拟用户真实行为,80%的用户阅读文章,20%的用户创建文章,创建文章的用户随机的删除或者修改文章。根据post_id是否能整除2,决定编辑还是删除。80%的用户查看文章。
2023-08-04 13:55:47
820
原创 Jmeter(二十三):快速生成测试报告
然后在聚合报告中指定日志文件存储路径,路径中最好不要包含有中文,执行脚本后,会在指定的这个目录下创建一个login.txt的日志文件。首先要保证jmeter命令是ok的,如果你在cmd中输入jmeter -v,有出现如下截图所示的信息,那就说明jmeter环境ok;1.完成脚本的调试、参数化、断言等操作后,在脚本存放目录下打开cmd,通过执行命令来执行脚本,并同步输出HTML测试报告。注意:指定的报告存放目录,如果目录不存在,则会自动创建。注意:指定的报告存放目录,如果目录不存在,则会自动创建。
2023-07-25 18:13:23
430
原创 JMeter(二十二):系统性能分析思路
还有其他应用程序自身的性能特征、工作负荷的特性、应用程序间的通信行为、磁盘或网络上的数据访问模式,还有终端用户对应用程序的使用模型。CPU是操作系统中运行的根本,他的执行速度与性能好坏很大程度上决定了系统整体的性能快慢,现在的cpu已经由之前的单核发展到多核,使得处理能力更强。磁盘数据的读写的性能也会直接影响系统程序的性能,磁盘I/O系统是系统中最慢的部分。在系统中,要考虑对应的网络是否到达、防火墙是否开启、端口的访问、宽带是否被限制、路由的寻址、网络的时延等。当系统利用率大于50%时,需要关注;
2023-07-25 16:02:43
345
原创 JMeter(八):响应断言详解
但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有main sample 和 sub-sample之分了。如果上面断言结果为true,勾选“否”后,最终断言结果为false。此外,对于有重定向的请求,并且勾选了“跟随重定向”, 那么这两个请求都是 sub-sample,重定向后的请求(第二个请求)就是main-sample。响应文本,Document(Text),url样本,响应代码,响应信息,Response Header,ignore status。(2) 正则匹配。
2023-07-25 11:20:19
512
原创 windows关闭某个进程
(1)win+R键打开命令提示符,输入cmd(2)输入netstat -ano(3)输入taskkill /f /pid 进程ID。例如:taskkill /f /pid 19216如果成功终止的话,会出现成功;
2023-07-25 09:45:37
2663
原创 sql中group by 的使用
Group By 从字面意义上理解就是根据By指定的规则对数据进行分组,所谓的分组就是将一个数据集划分为若干个小区域,然后针对若干个小区域进行数据处理。
2023-07-21 18:30:33
286
原创 Mysql数据库两种去重的方法
比如:(1)、查数据Select count(num), max(name) from student 列出表中的重复的记录数和学生名字的属性,Having count(num)>1 并按照num分组后找出表中num列出现次数大于一次的。(2)、删除数据//删除表中num列所有重复的数据。
2023-07-21 17:25:11
402
原创 mysql 使用存储过程批量插数据
ENGINE INNODB DEFAULT CHARSET utf8 COMMENT '测试表';2、定义存储过程,新建查询,输入以下语句,运行;运行完之后,会在函数下看到该函数。##num_limit 要插入数据的数量,rand_limit 最大随机的数值。1、打开navicat ,准备测试表,新建查询,输入以下语句,运行;3、调用存储过程,新建查询,输入以下语句。
2023-07-21 16:48:02
682
原创 消息队列MQ入门理解
但通常情况下,不同的 Topic 之间的消息没有必然的联系,而 Tag 则用来区分同一个 Topic 下相互关联的消息,比如全集和子集的关系,流程先后的关系。以时间轴为坐标,在消息持久化存储的时间范围内(默认3天),重新设置消息订阅者对其订阅 Topic 的消费进度,设置完成后订阅者将接收设定时间点之后由消息发布者发送到 MQ 服务端的消息。Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消息。
2023-07-16 19:41:55
151
原创 消息中间件(一)MQ详解及四大MQ比较
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。阿里系下开源的一款分布式、队列模型的消息中间件,原名Metaq,3.0版本名称改为RocketMQ,是阿里参照kafka设计思想使用java实现的一套mq。
2023-07-16 18:43:03
569
原创 为什么需要消息队列(MQ)?
主要原因:是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MYSQL,直接导致无数的行锁,甚至最后请求会堆积过多,从而触发too many connections错误。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。美国计算机科学家,LaTex的作者Leslie Lamport说:“分布式系统就是这样一个系统,系统中一个你甚至都不知道的计算机出了故障,却可能导致你自己的计算机不可用。
2023-07-16 18:35:25
169
原创 同步和异步的区别
异步如收发收短信,对比电话,打电话我一定要在电话的旁边听着,保证双方都在线,而收发短信,对方不用保证此刻我一定在手机旁,同时,我也不用时刻留意手机有没有来短信。异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程;同步如打电话,通信双方不能断(我们是同时进行,同步),你一句我一句,这样的好处是,对方想表达的信息我马上能收到,但是,我在打着电话,我无法做别的事情;
2023-07-16 17:26:29
600
原创 性能测试常见术语浅析
每次客户端发起请求,如果都新建连接,会消耗很多的资源,连接池的存在及其特性,减少了连接的建立所消耗的资源以及节省了很多连接创建时间,给系统提供了更好的伸缩性,也有助于服务器的提升;对于交互应用来说,吞吐量指标反映服务器承受的压力,容量规划的测试中,吞吐量是重点关注的指标,它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值;性能测试中引入这个术语,是为了对高峰期、平缓期的系统响应时间分布,不同业务场景的响应时间分布,以及I/O数在时间段上的分布等情况进行分析,以判断系统的稳定性。
2023-07-16 17:02:36
196
原创 TPS和QPS定义以及影响TPS的因素
从常见的应用服务器来说,比如Tomcat,因为java的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS也有一定影响的,因为垃圾回收其本身就会占用一定的资源。高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,亦或是没有主从分离,读写分离等,就会导致数据库事务处理过慢,影响到TPS.
2023-06-19 18:10:02
1230
原创 性能测试指标
注:关注前端的性能与后端的性能的不同点在于,前端是每个用户的直观感受,以及前端页面的加载元素耗费时间给予用户的感受,而后端的性能关注点在于多用户使用系统时,服务器是否能够承受或者服务器的处理能力如何,能否以较好的响应时间响应;如果代码中耗时循环中不加sleep,即例如while的死循环中,没有加sleep时间,导致没有空余的时间将cpu的控制权给其他进程,一直陷入该死循环中,cpu得不到休息,所以usr的消耗过高,则cpu的消耗高。GC:自动内存管理程序,被引用的对象保存在内存中,当对象不被引用时则释放。
2023-06-06 19:46:30
302
原创 性能测试基本知识
1、响应时间长2、卡顿、掉帧,如撸啊撸游戏,关闭特效会速度快3、无响应4、有响应,但无法服务,如12306刷不出票5、长时间loading。
2023-06-06 15:51:49
373
原创 并发量、RT、QPS、TPS量化关系
比如我商品搜索的接口,接口调用量最高的时间点(分钟级别)如1:30分的时候,调用量为10000,那么我们可以根据根据这个峰值去计算他的TPS。访问页面时不光是需要html页面,还有html页面顺带的css、JavaScript文件,这些文件也分别需要一个HTTP请求来获取,所以一个访问一个页面需要多个HTTP请求是很正常的,所有的浏览器都一样。2、Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q”
2023-06-06 15:03:05
945
原创 性能测试实战
每个程序运行都需要占用CPU,那么单CPU的机器是如何同时运行多个程序的?时间片即CPU分配给各个程序的时间,每个程序被分配一个时间段,称作它的时间片,即该程序允许允许的时间。CPU:单位是HZ,将CPU划分为若干个时间片,为每个程序分配对应的时间片,保证所有的程序占用时间片来串行执行;表示一段时间内,正在使用的CPU时间段/ 总的CPU时间段*100%已使用的时间片 = 用户CPU + 系统CPU总时间片 = 用户CPU+ 系统CPU +空闲CPU用户CPU:所有应用程序运行消耗的CPU;
2023-04-02 17:38:23
318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人