- 博客(74)
- 问答 (1)
- 收藏
- 关注
原创 Grafana结合Ifluxdb生成Jmeter压测图形化报告
性能监控平台的组成:1- JMeter:压测工具,产生压测数据2- influxDB: 开源的时序数据库,特别是和处理和分析资源监控数据,用来存储 压测数据3- Grafana: 度量分析与可视化图标展示工具,可以支持不用类型对的数据源 如 普罗米修斯 、influxDB等,用于将存储于时序 数据库的数据以图形化的方式展示出来 ,从而形成好看的可视化报告前提是linux上已经安装docker并启动1-部署 influxDB(1) 拉取InfluxDB镜像:docker pull influxdb
2022-05-10 13:29:17
658
原创 pip使用豆瓣源升级版本
pip install pip --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2022-03-10 10:37:32
995
原创 冒烟测试是什么(理论)?
冒烟测试也叫预测试,就是正式测试之前的一种测试,为了确保主流程能走通。测试之前一般会要求开发自测,开发自测后(自测大概就是一天左右的时间),确保没有大的问题,再通知测试开始测试。...
2022-02-25 11:39:51
406
原创 selenium中隐藏元素定位,你该如何做?
隐藏元素可以正常定位到,只是不能操作(定位元素和操作元素是两码事,操作元素是指click 、clear 、send_keys等这些方法)。我们可以用js来操作隐藏元素。js和selenium不同,只有页面上有的元素(在dom里面的)都能正常操作。...
2022-02-10 09:46:44
7844
原创 Python中的多线程和多进程的应用场景和优缺点
线程是操作系统分配CPU的基本单位,进程是操作系统分配内存的基本单位。通常我们运行的程序会包含一个或多个进程,而每个进程中又包含一个或多个线程。多线程的优点在于多个线程可以共享进程的内存空间,所以进程间的通信非常容易实现;但是如果使用官方的CPython解释器,多线程受制于GIL(全局解释器锁),并不能利用CPU的多核特性,这是一个很大的问题。使用多进程可以充分利用CPU的多核特性,但是进程间通信相对比较麻烦,需要使用IPC机制(管道、套接字等)。多线程适合那些会花费大量时间在I/O操作上,但没有太多并行
2022-01-21 11:13:09
966
原创 软件的安全性应从哪几个方面去测试?
(1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议(2) 加密机制(3) 安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描(4) 数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理(5) 防病毒系统...
2022-01-07 09:33:47
4023
原创 selenium运行打开火狐浏览器报错
运行selenium调起火狐浏览器报错 Message: 'geckodriver' executable needs to be in PATH
2022-01-05 15:56:18
7873
原创 说下删除数据库的几种方式
delete 执行过程中,每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。TRUNCATE 只能对 TABLE;DELETE 可以是 table 和 vi...
2021-12-22 15:38:50
1043
原创 python 之 jsonpath
# pip isntall jsonpath 安装from jsonpath import jsonpathdct = { "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fi
2021-12-17 17:11:00
1058
2
原创 举例说明 python f 格式化字符串用法
name, age = "Hello Ketty", 19print("I am {name}, I am {age} years old.", name, age)print(f"I am {name}, I am {age} years old.", name, age)# I am {name}, I am {age} years old. Hello Ketty 19# I am Hello Ketty, I am 19 years old. Hello Ketty 19# python3
2021-12-14 14:09:26
398
2
原创 python sorted和sort有什么区别
a=[1,6,5,8,9,1,400,302]print(sorted((a)))print(sorted(a, reverse=True))print(a)print(a.sort())print(a)# 结果如下:# [1, 1, 5, 6, 8, 9, 302, 400] # sorted(list, reverse=False) 不会改变原列表.会产生并返回排序后的新列表# [400, 302, 9, 8, 6, 5, 1, 1] # reverse,boolean值,默认是 Fas
2021-12-14 14:01:24
513
2
原创 http请求中get和post的区别是什么?
1、GET 请求:请求的数据会附加在 URL 之后,以?分割 URL 和传输数据,多个参数用&连接。POST 请求:POST 请求会把请求的数据放置在 HTTP 请求包的包体中。2、传输数据的大小使用 GET 请求时,传输数据会受到 URL 长度的限制。对于 POST,理论上是不会受限制的3、安全性。POST 的安全性比 GET 的...
2021-12-14 11:34:34
1638
原创 selenium中如何判断元素是否出现?
判断元素是否出现,存在三种情况:一种是该元素压根就没有,自然不会出现;另外一种是有这 样的元素,但是是 hidden 状态最后一种是出现了,但是别遮挡住了,能判断到存在但是 某些操作操作不了,可以采取js的方法让遮挡的 元素显示出来,再去做响应的操作可以通过先判断是否存在,如果不存在返回 false;如果存在再去判断是否 displayed...
2021-12-14 11:26:21
10276
原创 python中什么是可迭代对象、迭代器、生成器?
1.线上结论:(1)可迭代对象包含迭代器。(2)如果一个对象拥有__iter__方法,其是可迭代对象;如果一个对象拥有next方法,其是迭代器。(3)定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和next方法。...
2021-12-09 16:15:19
104
原创 在您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷( Bug )记录?
在传统的 BugZilla 中,BUG 描述应该包括以下的信息和 BUG 产生对应的软件版本和模块开发的接口人员BUG 的优先级BUG 的严重程度BUG 可能属于的模块,如果不能确认,可以用开发人员来判断BUG 标题,需要清晰的描述现象BUG 描述,需要尽量给出重新 Bug 的步骤BUG 附件中能给出相关的日志和截图。高质量的 BUG 记录就是指很容易理解的 BUG 记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位,因此提交高质量的软件缺陷记录需要注意对 BUG 记录的描述质量多且
2021-12-09 10:22:31
899
原创 网上银行转账是怎么测的,设计一下测试用例。
宏观上可以从质量模型(万能公式)来考虑,重点需要测试转账的功能、性能与安全性。设计测试用例可以使用场景法为主,先列出转账的基本流和备选流。然后设计场景,最后根据场景设计数据。实际面试中需要举出具体的例子。先检查界面。再测试功能:验证同行转账,跨行转账。验证转账限额。验证非法账户(挂失,冻结,锁定的账户)的转账。再测试性能方面的。...
2021-12-08 13:42:37
5226
原创 python中的模块和包是什么?
在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。...
2021-12-08 10:20:47
95
原创 写一个简单的登录验证的装饰器
#编写一个装饰器,模拟登录的简单验证 #只验证用户名和密码是否正确,如果用户名为 root 密码为 123 则正确,否则不正确 def login_adorner(func): def inner(user, password): if user == 'root' and password == 123: print('验证通过') func(user, password) else: .
2021-12-07 13:44:39
707
1
原创 一行代码实现1-100偶数求和,至少5种方式
#目前只想到这两种方法 ou = reduce(lambda n,m:n+m,filter(lambda x:x % 2==0,range(1,101))) print(ou) ol = sum(list(range(0,101,2))) print(ol)
2021-12-07 13:43:11
1840
原创 python函数的作用域有哪些?作用域的查找顺序
#函数的租用与有全局作用域、局部作用域、嵌套作用域 #作用域的查找顺序是由内向外查找,直到查找到最外层,查不到就会报错 b = 99 #全局作用域 def foo(): a = 100; #此处a是局部作用域变量 在函数外部引用a是会报错的 print(a) print(b) #局部可以引用全局变量 #print(c) #不可用 def bar(): c = 'cccc' #嵌套作用域定义的变量在局部作用域下不可用 .
2021-12-07 13:41:25
262
原创 为什么*args和**kwargs叫做函数的非固定参数?它们是什么数据类型?
def weizhi(*args,**kwargs): print('不定长位置参数:',args) print('不定长关键字参数:',end='') print(kwargs) weizhi(1,2,3,4,56,**{'a':'aaa','b':'bbb'},c='ccc') #上面代码输出: #不定长位置参数: (1, 2, 3, 4, 56) #不定长关键字参数:{'a': 'aaa', 'b': 'bbb', 'c': 'ccc'} weizhi(.
2021-12-02 16:32:15
305
原创 python当中的赋值、浅拷贝、深拷贝有什么区别
简单总结:#赋值:不仅仅值完全一样,而且内存中指向同一地址#深拷贝就是恩断义绝,不再有任何联系#浅拷贝是藕断丝连,列表的第一级元素不会因为改变而改变,但是原始列表和浅拷贝对象的子列表仍然会指向同一内存地址,修改其中任何一个必然后引起另外一个的变化,完全切片相当于浅拷贝improt copydef cp(): a = [1,2,[3]] b = copy.copy(a) c = a d = a[:] a[-1].append(4) print('a:
2021-12-02 16:29:53
579
原创 什么是递归函数?请用递归函数实现10的阶乘
递归就是一个函数在其函数体内调用它本身的动作,执行递归函数会反复调用其本身,每执行一次都会进入新的一层,但是递归必须有结束条件,那么什么事结束条件呢?递归在执行时一直往前递推,知道遇到墙后返回,这道墙就是结束条件。可以看出递归中有两个要素:递推关系和结束条件注意: 递归的时候每调用函数一次,计算机都会给这次函数分配新的空间,也就是说,当被调函数返回的时候,调用函数中的变量依然会保持原先的值,否则递归不可能实现反向输出def jc(n): if not isinstance(n,int):
2021-11-30 18:04:00
4418
2
空空如也
并发和并行的区别是什么,我们平时说的电商的并发本质上并发还是并行?
2021-07-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人