- 博客(119)
- 收藏
- 关注
转载 列表中的字典排序
一般用lamada就可以了,因为函数的逻辑比较简单这样可以节约代码行数。{'age': 3, 'name': '张小三', 'sex': 0},{'age': 4, 'name': '李四', 'sex': 1},{'age': 5, 'name': '王五', 'sex': 1},{'age': 6, 'name': '赵六', 'sex': 1},{'age': 3, 'name': '张三', 'sex': 1},1、列表中的元素优先按年龄排序,年龄相同时候按性别排序。2、或者直接找出最大最小值。
2024-09-18 11:43:15
66
原创 python对列表中的相同字典进行排序
对字典 dict_data 的项进行排序,排序的依据是每个项的第二个元素,且这个第二个元素被转换为整数类型后进行比较。由于name属性是字符串,在使用sort()排序时,会按照字符串中每个字符的位置进行比较。r值是字符串类型,那么需要将下标截取出来,然后再对name进行排序。 是一个切片操作,表示从字符串的第二个字符开始到字符串的末尾。"value": "无形资产名称","value": "摊销期数","value": "用途","value": "原值","value": "序号",
2024-09-18 11:35:51
854
原创 获取元素的实用方法
selenium定位的方法有很多,比如id、class、css选择器、className、xpath等定位,在这里最推荐使用xpath;一种很简单的获取方法就是选中要查找的元素,右击选择复制即可;不过我喜欢自己手动定位;下面来介绍不同的方法;
2024-09-14 16:23:09
331
原创 selenium中键盘操作:Keys类
本文详细介绍了如何使用Selenium库进行键盘操作,包括非组合键如回车、删除等,以及Ctrl+A、Ctrl+C等常见组合键的模拟。通过实例演示了在百度搜索中的应用,并展示了ActionChains类的使用方法。
2024-09-09 18:19:17
757
原创 python列表嵌套字典取值
5、列表的值提取返回结果为字典类型,所以进一步取值时,通过字典的key获取,例:i[“key”]4、先把列表的值提取出来,也就是通过for…将以下列表的backup_unit_id全部提取出来。1、确定需要取值的对象是什么类型(列表还是字典)3、所以取值的时候要用到列表取值,字典取值。2、此处确定类型为列表,列表下嵌套了字典。
2024-08-19 18:28:56
408
转载 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
1925
原创 Pycharm在下载安装第三方库时速度慢或则超时(不是pip提速)
为了学习python读取文件,需要下载pandas,但是在pycharm->seeting->python interpreter下载pandas很慢,迟迟下载不成功;
2023-12-22 11:39:35
1897
1
原创 在雷电模拟器中安装apk包使用charles抓包详细教程
由于手头没有多余的平板,所以用模拟器来安装应用进行测试,有时候想要知道是前端问题还是后端问题,需要安装charles来进行抓包;
2023-12-22 10:05:47
844
1
原创 jmeter(三十三):阶梯线程组Stepping Thread Group,并发线程Concurrency Thread Group
以打开优快云首页https://www.youkuaiyun.com/为例。每步0.1分钟(0.5分钟除以5步)。Stepping Thread Group参数详解。现在官方不建议使用阶梯式线程组,建议使用并发线程组。每步20个用户(100个用户除以5步)达到100个线程后,所有这些线程。,直到达到100个用户。持有目标速率半分钟;
2023-10-16 17:46:39
1257
1
原创 并发数计算方法
性能测试的TPS,大都是根据用户真实的业务数据(运营数据)来计算的普通计算方式:TPS=总请求数/总时间二八原则计算方法:TPS=总请求*0.8/总时间*0.2 (二八原则就是指80%的请求在20%的时间内完成)总结:普通计算方式只能满足基本的要求,但是不能很好覆盖系统正常的使用情况,二八原则计算方法能满足系统对大多数情况下的应用。
2023-10-16 15:41:58
1656
原创 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
1318
原创 requests.exceptions.InvalidHeader: Invalid leading whitespace, reserved character(s), or...
报上面错是因为,有空格导致,把空格删掉即可;
2023-08-29 14:10:08
2111
原创 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
830
原创 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
1578
原创 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
1345
原创 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
1138
原创 Jmeter(二十七):BeanShell PostProcessor跨线程全局变量使用
稍后补充:https://www.cnblogs.com/insane-Mr-Li/p/10146302.html
2023-08-27 20:28:13
1290
原创 Jmeter(二十六)、详解jmeter函数和变量
JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用。其中,__functionName匹配被调用的函数名称。用圆括号包含函数的形参,例如${__time(YMD)},不同函数要求的参数也不同。有些JMeter函数不要求参数,则可以不使用圆括号,例如${__threadNum}。如果一个函数的参数中包含逗号,那么必须对逗号进行转义(使用"\"),否则JMeter会把逗号当成参数分隔符。
2023-08-22 21:14:39
434
原创 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
1120
原创 JMeter(二十四)、使用吞吐量控制器实现不同的用户操纵不同的业务
需求:博客系统,模拟用户真实行为,80%的用户阅读文章,20%的用户创建文章,创建文章的用户随机的删除或者修改文章。根据post_id是否能整除2,决定编辑还是删除。80%的用户查看文章。
2023-08-04 13:55:47
878
原创 Jmeter(二十三):快速生成测试报告
然后在聚合报告中指定日志文件存储路径,路径中最好不要包含有中文,执行脚本后,会在指定的这个目录下创建一个login.txt的日志文件。首先要保证jmeter命令是ok的,如果你在cmd中输入jmeter -v,有出现如下截图所示的信息,那就说明jmeter环境ok;1.完成脚本的调试、参数化、断言等操作后,在脚本存放目录下打开cmd,通过执行命令来执行脚本,并同步输出HTML测试报告。注意:指定的报告存放目录,如果目录不存在,则会自动创建。注意:指定的报告存放目录,如果目录不存在,则会自动创建。
2023-07-25 18:13:23
490
原创 JMeter(二十二):系统性能分析思路
还有其他应用程序自身的性能特征、工作负荷的特性、应用程序间的通信行为、磁盘或网络上的数据访问模式,还有终端用户对应用程序的使用模型。CPU是操作系统中运行的根本,他的执行速度与性能好坏很大程度上决定了系统整体的性能快慢,现在的cpu已经由之前的单核发展到多核,使得处理能力更强。磁盘数据的读写的性能也会直接影响系统程序的性能,磁盘I/O系统是系统中最慢的部分。在系统中,要考虑对应的网络是否到达、防火墙是否开启、端口的访问、宽带是否被限制、路由的寻址、网络的时延等。当系统利用率大于50%时,需要关注;
2023-07-25 16:02:43
379
原创 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
578
原创 windows关闭某个进程
(1)win+R键打开命令提示符,输入cmd(2)输入netstat -ano(3)输入taskkill /f /pid 进程ID。例如:taskkill /f /pid 19216如果成功终止的话,会出现成功;
2023-07-25 09:45:37
4252
原创 sql中group by 的使用
Group By 从字面意义上理解就是根据By指定的规则对数据进行分组,所谓的分组就是将一个数据集划分为若干个小区域,然后针对若干个小区域进行数据处理。
2023-07-21 18:30:33
347
原创 Mysql数据库两种去重的方法
比如:(1)、查数据Select count(num), max(name) from student 列出表中的重复的记录数和学生名字的属性,Having count(num)>1 并按照num分组后找出表中num列出现次数大于一次的。(2)、删除数据//删除表中num列所有重复的数据。
2023-07-21 17:25:11
507
原创 mysql 使用存储过程批量插数据
ENGINE INNODB DEFAULT CHARSET utf8 COMMENT '测试表';2、定义存储过程,新建查询,输入以下语句,运行;运行完之后,会在函数下看到该函数。##num_limit 要插入数据的数量,rand_limit 最大随机的数值。1、打开navicat ,准备测试表,新建查询,输入以下语句,运行;3、调用存储过程,新建查询,输入以下语句。
2023-07-21 16:48:02
762
原创 消息队列MQ入门理解
但通常情况下,不同的 Topic 之间的消息没有必然的联系,而 Tag 则用来区分同一个 Topic 下相互关联的消息,比如全集和子集的关系,流程先后的关系。以时间轴为坐标,在消息持久化存储的时间范围内(默认3天),重新设置消息订阅者对其订阅 Topic 的消费进度,设置完成后订阅者将接收设定时间点之后由消息发布者发送到 MQ 服务端的消息。Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消息。
2023-07-16 19:41:55
187
原创 消息中间件(一)MQ详解及四大MQ比较
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。阿里系下开源的一款分布式、队列模型的消息中间件,原名Metaq,3.0版本名称改为RocketMQ,是阿里参照kafka设计思想使用java实现的一套mq。
2023-07-16 18:43:03
620
原创 为什么需要消息队列(MQ)?
主要原因:是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MYSQL,直接导致无数的行锁,甚至最后请求会堆积过多,从而触发too many connections错误。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。美国计算机科学家,LaTex的作者Leslie Lamport说:“分布式系统就是这样一个系统,系统中一个你甚至都不知道的计算机出了故障,却可能导致你自己的计算机不可用。
2023-07-16 18:35:25
210
原创 同步和异步的区别
异步如收发收短信,对比电话,打电话我一定要在电话的旁边听着,保证双方都在线,而收发短信,对方不用保证此刻我一定在手机旁,同时,我也不用时刻留意手机有没有来短信。异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程;同步如打电话,通信双方不能断(我们是同时进行,同步),你一句我一句,这样的好处是,对方想表达的信息我马上能收到,但是,我在打着电话,我无法做别的事情;
2023-07-16 17:26:29
629
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人