自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(403)
  • 资源 (2)
  • 收藏
  • 关注

原创 pytest自动化测试框架搭建,并生成allure测试报告

1. 简单灵活,容易上手;支持参数化;测试用例的skip和xfail 处理;2. 能够支持简单的单元测试和复杂的功能测试,还可以用来做 selenium/appium等自动化测试、接口自动化测试 (pytest+requests);3. pytest具有很多第三方插件,并且可以自定义扩展, 比较好 用的如 pytest-allure(完美html测试报告生成) pytest-xdist (多CPU分发)等;4. 可以很好的和jenkins集成。

2025-05-08 16:19:52 720

原创 怎么查看linux是Ubuntu还是centos

要确定你的Linux系统是基于Ubuntu还是CentOS,可以通过几种不同的方法来进行判断。

2025-03-21 12:38:47 2053 1

原创 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程-Charles过滤网络请求

在日常工作测试中,经常要抓包看请求的request,response是不是传的对,返回的字段值对不对,众多的请求中看得眼花缭乱,如何找到自己想要的请求,那么我们就需要过滤请求。Charles有4种过滤方式,用那一种都可以,看个人喜好了。

2025-03-18 12:53:37 1056

原创 手机抓https包安卓7以上ca证书安装方法

可以到设置中查看是否有对应的证书, 不同手机位置可能不同miui9开发版: 系统设置 → 更多设置 → 系统安全 → 加密与凭证 → 信任的凭据雷电模拟器(Android9): 设置 → 安全性和位置信息 → 加密与凭证 → 信任的凭据。

2025-03-18 12:51:59 1353

原创 详解谷歌浏览器 Performance 性能选项卡

本文主要介绍如何使用谷歌浏览器性能查看工具 performance 选项卡。读者可两篇文章一起看,加深对网页性能参数的了解。

2025-01-08 16:09:41 2561

原创 Go语言中的defer,panic,recover 与错误处理

在其他编程语言中,如Java,宕机往往以异常的形式存在。底层抛出异常,上层逻辑通过try...catch...fanally机制捕获异常并处理,没有被捕获到的严重异常会导致程序崩溃,捕获的异常可以被处理,让代码可以继续执行。

2024-12-24 18:38:28 2034 4

原创 Java知识回顾 (18)Java 8、9、11的新特性

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。更多的新特性可以参阅官网:​ ​排序的示例Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍 Java 9 的新特性。更多的新特性可以参阅官网​。

2024-10-12 14:56:05 1229

原创 服务治理怎么做:降级、熔断、全链路压测

依赖服务故障:当某个依赖服务不可用时,通过服务降级可以提供替代方案或者简化的功能,以确保系统核心功能的正常运作。系统负载过高:在高峰期或者流量激增的情况下,为了防止系统崩溃,可以暂时关闭或降低某些非关键服务的质量。网络问题:在网络延迟或不稳定的情况下,降低某些服务的请求频率或数据量,以减轻系统负担。服务网格:如 Istio、Linkerd,可以细粒度地控制服务间的流量,实现灰度发布。:通过逐步发布新版本,团队可以在小范围内验证新功能的有效性,降低全量发布带来的风险。数据降级:降低数据返回的粒度或数量。

2024-06-27 15:25:02 1028

原创 Selenium自动化测试之环境搭建(python语言)

我们在使用Selenium做自动化之前一项很重要的工作就是确定python、Selenium、浏览器器的版本,如果任何一项不兼容,则会出现很多问题。好久没有写Selenium web自动化相关的内容了,Chrome浏览器和Selenium版本已经更新了好几版,今天按照最新的版本做一个记录。我使用的是Chrome浏览器,最新版本是:123.0.6312.106(正式版本) (64 位),可以查看到ChromeDriver最新的版本所支持的selenium版本。根据使用的电脑系统选择合适的python版本。

2024-04-15 18:12:03 498 1

原创 MySQL中使用distinct单、多字段去重方法

多个字段拼接去重是指将多个字段的值按照一定的规则进行拼接,并去除拼接结果。这样可以生成唯一标识符或者进行数据统计。

2024-03-27 11:00:13 9793 1

原创 深入理解Mysql索引底层原理(看这一篇文章就够了)

Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。

2024-03-21 17:29:00 5593 4

原创 最大子矩阵和

求一个M*N的矩阵的最大子矩阵和

2024-03-20 15:03:33 1164

原创 排序算法之插入排序算法介绍

每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。即边插入边排序, 保证子序列中随时都是排好序的。就像玩扑克牌抓牌的时候。

2024-03-20 11:12:34 441

原创 排序算法之选择排序介绍

选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

2024-03-20 10:50:42 303

原创 一文读懂『归并排序』算法(Merge Sort)

归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用 分治法(Divide and Conquer) 的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。

2024-03-13 19:46:50 3827

原创 排序算法之快速排序算法介绍

快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序流程:(1) 从数列中挑出一个基准值。(2) 将所有比基准值小的摆放在基准前面,所有比基准值大的摆在基准的后面(相同的数可以到任一边);在这个分区退出之后,该基准就处于数列的中间位置。

2024-03-13 17:38:45 490

原创 算法空间复杂度计算

空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度。一个算法在计算机存储器上所占用的存储空间,包括程序代码所占用的空间,输入数据所占用的空间和辅助变量所占用的空间这三个方面。

2024-03-13 11:23:29 1273

原创 时间复杂度中的log(n)底数是多少?

排序算法中有一个叫做“归并排序”或者“合并排序”的算法,它用到的就是分而治之的思想,而它的时间复杂度就是N*logN,此算法采用的是二分法,所以可以认为对应的对数函数底数为2,也有可能是三分法,底数为3,以此类推。其实这里的底数对于研究程序运行效率不重要,写代码时要考虑的是数据规模n对程序运行效率的影响,常数部分则忽略,同样的,如果不同时间复杂度的倍数关系为常数,那也可以近似认为两者为同一量级的时间复杂度。a,b取值是如何确定的呢?也就是说该算法的时间复杂度的增长与处理数据多少的增长的关系是一样的。

2024-03-13 10:11:16 1520 1

原创 彻底理解Java并发:乐观锁、悲观锁和CAS

锁的一种宏观分类方式是悲观锁和乐观锁。悲观锁与乐观锁并不是特指某个锁(Java 中没有哪个 Lock 实现类就叫 PessimisticLock 或 OptimisticLock),而是在并发情况下的两种不同策略。

2024-03-06 17:51:47 1053

原创 推荐一个屏幕上鼠标高亮显示的小工具

Cursor Highlighter 是一款鼠标光标高亮工具,它能够全程高亮显示鼠标指针、左键点击、右键点击,并且还能自定义颜色、形状。此款软件有三种模式:基本功能是在鼠标光标周围创造一个彩色的“光环”;也可以设置为自定义的图标跟随鼠标光标,或者作为一个“光标焦点”,除了光标周围的一个区域外,屏幕变暗。

2024-03-01 12:02:56 4477

原创 推荐几个屏幕实时显示键盘操作的小工具

能够在屏幕上实时显示键盘操作,对于录制操作教程视频需求的人来说,可以达到事半功倍的效果,尤其对于比较大型的软件,如Photoshop,After effect等,有非常复杂多样的快捷键,(小型软件也有,如我之前介绍过的含有鼠标截图软件 IrfanView和ShareX等),这些快捷键对于提升我们工作效率非常有必要。在录制教学视频中,如果跟随教学者操作按键能够实时显示出来,就会大大加大教学效率和学习者学习效率,对于那些可能有听力障碍的学习者来说更甚。至此,这个软件设置完成。屏幕实时显示键盘操作软件汇总表。

2024-03-01 11:44:49 4443

原创 Jmeter之内置函数__property和__P的区别

JMeter内置函数汇总讲解

2024-02-21 10:40:34 1493

原创 Jmeter内置变量 vars 和props的使用详解

JMeter是一个功能强大的负载测试工具,它提供了许多有用的内置变量来支持测试过程。其中最常用的变量是 vars 和 props。

2024-02-21 10:26:55 2513

原创 Python之海象运算符

在 Python 3.8 及更高版本中,引入了一种新的语法特性,称为"海象运算符"(Walrus Operator),它使用:=符号。这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。使用海象运算符可以在一些情况下简化代码,尤其是在需要在表达式中使用赋值结果的情况下。这对于简化循环条件或表达式中的重复计算很有用。

2024-02-20 17:52:36 1195

原创 zip在python中的用法详解

在Python中,zip()是一个内置函数,用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。

2024-02-20 12:57:27 1930

原创 使用influxdb+Grafana+nmon2influxdb+nmon实时监控vps性能

influxdb官网:https://docs.influxdata.com/influxdb/v2.0/get-started/?在浏览器地址栏输入:http://vpsip:3000,即可进入Grafana首页,默认用户名和密码:admin/admin。下载链接: https://pan.baidu.com/s/1znAhcEZ2dd8tZpI4bpE2-g 提取码:r8s4。

2024-02-07 17:19:25 1248

原创 9个Linux 查看系统硬件信息命令(实例详解)

在Linux下,我们精要遇到需要查看系统的硬件信息, 这里我罗列了查看系统硬件信息的实用命令,并做了分类,实例解说。执行环境:ubuntu 16.04lscpu命令,查看的是cpu的统计信息.查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。2. 内存概要查看内存情况这里的单位是MB,总共的内存是1970MB。查看内存详细使用查看内存硬件信息内存最大值是 491520 MB。查看硬盘和分区分布查看硬盘和分区的详细信息4. 网卡

2024-02-05 11:59:56 8971 1

原创 Linux环境CPU个数、核数、线程数概念

先说公式。

2024-02-05 11:58:03 5759

原创 Python之代码覆盖率框架coverage使用介绍

coverage html -d report # 生成显示整体的covergae html形式的报告 (在当前同路径下生成一个report文件夹,里面包含html形式的报告。coverage run test_xxx.py # 执行test_xxx.py文件,会自动生成一个覆盖率统计结果文件.coverage。会自动生成一个覆盖率统计结果文件(data file):.coverage,这个文件在你的test.py的文件对应目录下。运行一个.py的文件方式:python test.py。

2024-01-25 17:56:41 2663

原创 彻底搞懂Python常用时间库time、datetime与时间格式之间的转换关系

Python项目中很多时候会需要将时间在Datetime格式和TimeStamp格式之间转化,下面这篇文章主要给大家介绍了关于python常用时间库time、datetime与时间格式之间转换的关系

2023-12-11 16:04:57 3113

原创 appium安卓app自动化,遇到搜索框无搜索按钮元素时无法搜索的解决方案

这时候如果定位搜索框,再点击操作,再输入文本后,再使用driver.press_keycode(66),发现无法实现搜索功能,如图,只实现了输入文本功能。定位搜索框元素后,再点击操作,再输入文本操作,再通过os转换输入法,再执行driver.press_keycode(66),便可以执行搜索操作。但有些app没有设置该搜索按钮,初学者就要花点时间去学习怎么实现该功能了,如下图。如XX头条,搜索框后面有“搜索”按钮,这样实现搜索操作较为方便。在手机应用商店下载一个搜狗输入法,在电脑打开cmd窗口,输入命令。

2023-12-11 15:56:40 826

原创 ‘vue’不是内部或外部命令,也不是可运行的程序或批处理文件的原因及解决方法

如果没有问题,问题出在没有配置 npm 全局下载的包添加到环境变量中。如果看不到该指令,则回到cmd命令窗口控制台,执行如下命令来。2、确定vue以及vue-cli已正确安装?3、确定vue.cmd已经加入到环境变量中?然后在该目录看是否有Vue的相关执行文件。从上图可以清楚的看到,我已经安装过了。找到 prefix 目录下对应的地址。1、确定npm是否已正确安装?已经安装了vue,就能看到。然后,再输入以下命令来。

2023-08-08 16:32:48 18119 2

原创 Nodejs安装及环境变量配置(修改全局安装依赖工具包和缓存文件夹及npm镜像源)

package.json 位于模块的目录下,用于定义包的属性。npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如。安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过。由于国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。以下实例,我们使用 npm 命令安装常用的 Node.js web框架模块。安装过程输出如下内容,第一行输出了模块的版本号及安装位置。

2023-08-08 16:20:25 7054

原创 Windows环境下创建定时任务执行Python脚本

由文件内容可以看出,第2个操作脚本未执行成功,原因如【5、创建任务一一操作】解释,未配置 “起始于”,且脚本中写日志的文件使用了相对路径。1)如果未填写,脚本需要给出绝对路径,且脚本代码内如果有使用文件或目录的地方,也需要使用绝对路径,否则会找不到对应文件或目录;我这里就选择常用的 “按预定计划”;任务会在设定的时间去执行,在"上次运行结果"可以看到最近一次任务执行的状态,会有对应的状态码及提示信息。2)如果填写了,脚本可以使用相对路径,且脚本代码内如果有使用文件或目录的地方,也可以使用相对路径;

2023-08-03 16:30:00 2810 1

原创 JMeter常用内置对象:vars、ctx、prev

在前文中,初步阐述了JMeter beanshell的使用,接下来归集整理了JMeter beanshell 中常用的内置对象及其使用。注:示例使用JMeter版本为5.1。

2023-07-28 15:42:38 1181

原创 Jmeter性能测试之正则表达式提取器

Jmeter正则表达式提取器属于Jmeter后置处理器(post processors)的一种,用于将取样器请求到的结果以正则表达式的方式读取出来。

2023-07-28 15:13:07 13340

原创 Jmeter性能测试之Beanshell解析并提取json响应

将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中;否则会报:Typed variable declaration : Class: JSONObject not found in namespace的错误。加debug之后,发现提取到了两组数据,分别是省份和人口,之后就可以在后续接口进行调用了。我们需要解析如下的json响应,提取出中间的Name和population。

2023-07-25 17:24:25 1741

原创 如何查看Linux系统版本

查看Linux系统版的几种方法

2023-06-16 16:37:37 22587

原创 Windows下修改jmeter堆内存

观察这里的是不是修改后的数字,是的话就代表成功了,不是,就重新打开编辑模式排查有没有报错,重启jmeter,再去看看jmeter监视和管理控制台的vm参数。在本机(windows环境)使用jmeter时会出现——在最后结束线程时总是接口报错的情况,这是由于你电脑给到jmeter的内存不足导致的。启动后在 D:\Program Files\Java\jdk1.8.0_211\bin\jconsole.exe。以管理员运行,不启动jmeter是没有 ApacheJMeter.jar 这个选项的。

2023-05-30 18:15:53 732

原创 Windows解决权限不足报错“Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002”的问题

今天启动jmeter的时候报了如下错误:解决方法很简单:Step1:win+R打开dos,搜索并运行regeditStep2: 找到HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoftStep3: 右键JavaSoft,单击右键,选择权限,更改权限为完全控制即可。

2023-05-30 18:08:33 5055

Python自动化测试框架之pytest详解

内容概要:本文介绍Python自动化测试框架pytest的详细使用。 适合人群:从事软件测试的技术人员,对Python有一定的基础。 能学到什么:学习pytest的安装、配置,pytest fixture的使用,pytest的高阶用法如跳过测试函数、标记为预期失败函数、函数数据参数化、修改 Python traceback 输出、执行失败的时候跳转到 PDB、设置断点、获取用例执行性能数据、生成 JUnitXML 格式的结果文件、从Python代码中调用pytest等。从而帮助你在企业中快速搭建自动化框架平台。 阅读建议:跟着本教程一边学习一边动手操作,可以比较快速学习到pytest的使用方法。

2022-04-22

空空如也

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

TA关注的人

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