自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小生测试的博客

测试小生,不断学习,一直积累,滴水成流。

  • 博客(102)
  • 资源 (17)
  • 收藏
  • 关注

原创 通过Pytest 多数据库连接实例了解Python工厂模式与单例模式的区别

单例模式确保每种类型的数据库连接只有一个实例,实现全局共享;而工厂模式则提供了灵活的对象创建机制,使得测试代码更具扩展性和可维护性。如果你想要看到完整的实现案例,可以查看我开源的Pytest 框架源码,这是一个关于如何设计一个适合你自己的简易框架,而不是教你如何用安装包来做接口自动化的CRUD。

2024-03-18 10:57:24 544

原创 simple-pytest 框架使用指南

simple-pytest 框架主要参考了httprunner的yaml数据驱动部分设计思路,是基于 Pytest + Pytest-html+ Log + Yaml + Mysql 实现的简易版接口自动化框架。与httprunner不同的是,httprunner是个封装好的工具包,simple-pytest 是半封装的脚本,目的是让用户自己更容易学习Pytest工具,理解框架设计

2024-02-26 11:27:26 1090 2

原创 rancher证书过期问题处理

起初,打开rancher ui页面打不开,telnet rancher的服务端口也不通。查看rancher 控制节点,日志显示,X509:certificate has expired or is not ye valid。现在网上大部分的解决方案都是针对的2.2以及以下的版本,如果你按照网上那个教程尝试,会走很多弯路。首先,先确定你的rancher 服务版本,可以通过。如果遇到这样的问题,则说明你的这个命令没写对。最后docker restart 容器id。,选择版本号对应的解决方式。

2024-01-31 13:25:09 632

原创 pycharm运行正常,但命令行执行提示module不存在的多种解决方式(全)

可能还有其他方法,但大体上找不到module的问题,大部分是路径变量问题,按照这个思路去解决就可以解决大部分类似问题。

2023-12-19 10:27:02 1488

原创 Lighthouse命令行启动

Lighthouse 作为一个前端性能检测工具,如果需要集成在CICD流水线中,需要构建一个docker,使用命令的方式进行集成。

2023-11-27 09:38:25 197

原创 SonarLint安装与简介

SonarLint 是SonarQube官方推出的可以在idea 静态扫描插件,可以同步sonarqube的规则,在开发编译的时候发现问题,可以有效减少在流水线扫描返工的次数。

2023-10-29 20:22:15 789

原创 自动化框架如何在代码块中增加自定义全局变量

创建一个类,初始化一个变量variables,通过在code 将self.variables参数赋值,然后将code执行放在将exec执行,放在locals函数里。local函数会自动赋值给self.variables变量。这样就可以做到自动化测试前置处理器以及后置处理的变量传递。这样其他函数可以直接调用variables里的变量数据即可。在造数工具或者自动化测试中,集成可执行的代码块是非常有价值,但可执行代码结果不能脱离上下文而独立存在,这个时候可以尝试使用变量进行传参。

2023-09-27 15:17:09 193

原创 fastapi权限控制

不过fastapi 的权限控制,他要在请求头header上"Authorization":“Bearer 你的token”.OAuth2PasswordBearer会自动解析请求头这个参数的内容,解析不到就报权限失败。将get_current_user参数换成request: Request,这样就能控制我们只传入token就好了。这个用法是写死固定的。使用fastapi原生自带的AUTH_SCHEMA 作为权限控制。所以我们就放弃原生的fastapi权限设置,用自己的权限控制。

2023-08-26 17:38:30 1072

原创 查找占用最大磁盘的docker

一般情况下,通过清理无效的docker 镜像或者数据卷就可以释放一定的磁盘空间。但有时候我们需要知道是哪些docker占用了那么大的磁盘,里面存放了哪些大数据,如果是没有的大数据就可以清理掉。也可以通过转移大磁盘的docker到其他宿主机上来释放磁盘。公司服务器资源不够,经常硬盘或者内存不足,这时候就需要手动清理一波无用的docker数据。最后可以通过进入到docker id来判断里面是什么数据占用那么大的内存。这个步骤大部分下情况清理磁盘空间是有效的。

2023-07-26 13:59:05 461

原创 python高阶用法小技巧(1)

通常是在对象的属性可能不存在的情况下使用此方法,如果属性存在,则返回属性值;解包与update的区别在于,update后的数据dict1会改变原有的值,如果需要新的值,就需要深拷贝一次。其中,object 表示要获取属性的对象,name 表示属性名,default 是一个可选参数,当属性不存在时,返回 default 的值(默认为 None)。如果被传递的字典中有重复的键,则会覆盖原始字典中的值。其中,object 表示要设置属性的对象,name 表示属性名,value 表示要设置的属性值。

2023-06-13 13:19:50 376

原创 mongoengine listfield(referencefield a referencefield only accepts dbref, lazyreference报错

listfield(referencefield a referencefield only accepts dbref, lazyreference报错。另外表字段增加dbref字段为true,使其能够与其他模型进行交互并避免任何错误。传入的是字符串,而model要求的是ReferenceField,所以要对projects数据进行转换,转换成obejctid。的问题,都是参数传入的时候没有进行转换造成的。先看定义的user model表。

2023-05-22 13:50:08 126

原创 性能测试分析-Java内存溢出定位案例(1)

java内存溢出使用mat工具定位

2023-04-19 13:54:23 1044

原创 Python同Java同Js语言语法区别之五字符串列表字典遍历读取(ChatGPT自动编写)

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会经常用混淆,故趁有空整理下这系列笔记“Python同Java同Js语言语法区别‘,希望对大家有用。此篇文章是基于ChatGPT自动生成,只是修改格式,ChatGPT太强大了,写博客内容质量都超过大部分的作者。

2023-03-25 22:40:52 389

原创 Python同Java同Js语言语法区别之四判断字符串列表字典是否相等

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会经常用混淆,故趁有空整理下这系列笔记“Python同Java同Js语言语法区别‘,希望对大家有用。python3中可以使用判断字符串,数字、列表(需排序)、字典(不需要排序)是否相等,且None对象也可以比对。” 比较的是值,is比较的是字符串的内存idjava中不管是字符串还是数组还是map都可以使用equal关键字判断,不同类型也可以 判断,除了null空指针,注意null必须放在判断最右边 ,要不然会报错。

2023-02-05 18:18:47 408

原创 jmeter-事务控制器与并发控制器与if控制器项目实践

在做性能压测的时候,除了做单接口这种基准压测,我们还需要多接口串联的混合场景,比如打开小程序展示的首页,购物下单时的结算页。如果这些接口都是串行的,那就非常简单了,仅仅只需要创建事务控制器,将所有的接口放进去就行了。但是,事实上,这些接口并不都是串行的,有些是并行的,众所周知,jmeter的每个线程组请求是从上而下的,只有上一个请求成功了才会进行到下一个请求,并不能做到并行处理,所以,针对这个场景,该怎么解决?

2022-12-05 17:40:44 2357

原创 Python同Java同Js语言语法区别之三字符串字典列表赋值与逻辑运算

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会经常用混淆,故趁有空整理下这系列笔记“Python同Java同Js语言语法区别‘,希望对大家有用。

2022-11-25 20:39:40 169

原创 Python同Java同Js语言语法区别之二判断字符串字典列表含有某个值的方法

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会经常用混淆,故趁有空整理下这系列笔记“Python同Java同Js语言语法区别‘,希望对大家有用。

2022-10-23 10:19:05 688

原创 Python同Java同Js语言语法区别之一判断字符串字典列表为空的方法

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会有经常用混淆,抽空整理下这笔记

2022-09-24 19:57:44 615

原创 shell 脚本提取不包含某个字段的日志请求体

由于项目没有接入Kibana日志查看工具,在docker里查看并筛选特定的请求体是非常困难的,比如我做性能测试 no gui测试的时候,发现有些请求报错了,报错信息提示字段缺失,我就要筛选这个请求是怎样的,就要要筛选哪些请求体没有包含xx字段。这个时候就异常麻烦了。...

2022-08-30 09:19:38 375

原创 精准测试之ASTParser 解析含有emum 枚举方法的类文件的踩坑记

使用ASTParser 解析含有emum 枚举方法的类文件时,解析的结果时错误的。比如下面的文件解析后method 数据含有以下四个,其中FULL_AMOUNT不是一个method,对应的行范围也是不准的,结果导致我们在影响面评估中,评估该方法有变动但却找不到的问题,使得调用链路分析评估不准确。......

2022-07-01 08:48:13 478

原创 vue v-html 动态显示踩坑

v-html 动态显示作用域问题问题排查调试作为前端新手,只会调试console.log打印调试。尝试了下vue官网介绍的各种调试方式,发现都异常麻烦,最后还是使用最简单的debugger打开google F12 运行时,直接选择this.propertyinfo 可以发现为 undefined。这说明这里面的函数引用不到propertyinfo 该变量。这个调试非...

2022-06-17 09:35:35 825

原创 Git Diff 比较meger版本commit踩坑

背景某个项目需要在流水线中集成这样的工具,每次代码提交后,需要自动对比上一个版本代码,结合代码链路输出变更影响范围,起初是通过git log 去获取上一个版本的commit。但后面发现如果该commit 是merge版本,对比出来的不是我们想要的diff现象1、 git log 获取对比开发新提交的版本是c60,根据git log我们获取到的上一个版本是b9fgit diff c60 b9f结果如下(git diff 可以直接diff 两个同分支的commit)显示了有222个

2022-05-08 22:21:30 1374 2

原创 python初学者深拷贝与浅拷贝与引用的踩坑

python 初学者深拷贝与浅拷贝容易踩到的坑

2022-04-10 17:28:35 869

原创 Kotlin Gradle Junit单元测试print输出控制台

背景默认情况下,Gradle 单元测试,是无法使用 System.out.println 这样打印变量信息的,这会让我们debug变得非常麻烦。百度网上很多方案,,但都比较麻烦,也很容易踩坑,。换了个搜索姿势,google了下,原来方案如此简单。解决在你的模块下的build.gradle.kts添加如下的配置:tasks.withType<Test> { this.testLogging { this.showStandardStreams = true

2022-04-08 10:05:52 3449

原创 python替换yaml变量的多种方法以及踩坑

python yaml变量替换以及踩坑

2022-03-28 10:52:20 5796 2

原创 linux 定时删除过期报告

脚本如下:主要功能是,遍历所有的文件,如果是文件,则删除,如果是文件夹,则再次查询遍历#!/bin/sh root_paths="/home/static/common"paths=` ls /home/static/common/ ` rm_report(){ old=` stat -c %Y $1` #%Y 表示最近更新时间 ,1表示获取第一个标量 no

2022-02-18 17:59:29 156

原创 自动生成用例概论

背景:当某个接口修改或者新增的时候,我们需要快速的进行冒烟验证,除了测试提供的用例外,我们可以通过算法自动解决用例生成的问题。最全算法:算法原型:笛卡尔积算法算法介绍:各个参数的个数的乘积代码设计:python:tertools模块中product方法优势:覆盖全劣势:冗余用例多最常用算法:算法原型:正交表算法算法介绍:根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点代码设计:需要自己写算法优势:覆盖了大部分的场景,随着参数

2022-01-30 23:28:32 1086

原创 单元测试查看jacoco覆盖率

示例代码poml集成junit单元测试 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> <

2021-12-19 18:38:26 1006

原创 json diff常用工具对比(排序)

背景:在接口测试中,我们会经常通过对比接口的json数据来判断接口是否异常或者变动,以前常规又比较简单的做法是直接将这个json进行文本diff,这样也是比较直观,可以参考之前写的文章,在线diff 。但是接口返回的数据中,列表并不是有序的,所以文本diff也会存在这样的缺失。工具介绍:主要又以下几种方式,1、sorted 函数,使用递归进行排序比较。15万行json数据下,耗时为0.2s。结果为true或者false,要输出详细结果,需要自己额外写逻辑。def ordered(obj):

2021-11-29 14:11:19 5958 1

原创 apline 安装pyspark

下载spark包:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz配置环境变量export SPARK_HOME=/home/spark-3.1.2-bin-hadoop3.2export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdkexport PATH=${PATH}:${JAVA_HOME}/bin:${SPARK_HOME

2021-10-16 22:25:19 219

原创 jmeter线程数与用户数、tps的认知误区

误区一:jmeter 线程数就是用户并发数业务需求:要求tps达到500/s,1000并发数2秒完成处理大部分的测试同学是这样压测的,将jmeter的线程数直接从200、300、400这样调试到tps出现拐点。如果400线程符合了,就说明支持400的用户数。更有部分同学验证第二点的时候,直接压测1000个线程误区:1、正常的压测过程是,先压测出一个并发下的tps,然后根据以下的公式算出大概需要的线程数,以上的例子中,如果一个线程下的tps为10tps。那你的jmeter 线程数只需要5...

2021-09-20 14:33:28 14107 12

原创 JSR223 多个断言

前言在某个接口,需要断言多个json数据,网上给的方案是加个支持json list 的jar包,这个比较麻烦,使用JSR223很容易实现实现:1、首先加入jsr223 后置处理器获取变量数据import groovy.json.JsonSlurper;def jsonResponse = null;def JSON = new JsonSlurper ();if("200".equals(prev.getResponseCode())){ jsonResponse = JSON.par

2021-08-24 20:10:00 871

原创 性能测试基础知识--性能测试要不要断言?对性能的影响怎样

疑问:性能测试要不要断言场景:某个接口返回数据返回status:200返回的json{“respone_code”:401,“data”:“null”}在这个接口,业务开发为了减少开发量,并没有将接口返回数据规范的很完整,这个时候,就必须要做返回数据的断言了,因为测试工具的成功,并不等于业务的成功。如果我们不做断言的话,有时候你会发现,你的tps数据会保持的非常稳定,这个可能是有问题的,严重的话,会错误的估算真实的业务tps。所以我们必须要做的就是响应断言,也就是返回值的判断,这样才能得到

2021-08-24 20:01:23 1282

原创 Sonarapi python库 python-sonarqube-api简介

背景每次我们需要使用sonar api接口时,都需要自己去查一下接口的参数,这就显得很低效,如果有现成的库,那就简省了我们好多的时间。无意中发现,python库中已经有人做成了包:python-sonarqube-api如果需要单独的Sonar api 使用指南,可以直接查看之前写的sonar api文档简介python-sonarqube-api库包含了集成了sonar多个版本的接口调用,包括社区/企业版本等,功能还是比较强大的,而且文档还算比较详细原地址:https://github.com

2021-07-31 21:13:01 2139

原创 Django设置DEBUG=True的安全问题

前言虽然网上其他文章有介绍使用DEBUG=False与True 的基本区别,比如说在DEBUG=True时候,“在浏览器中和控制台会打印出错信息”,“有很大的安全隐患”。但你也不知道它打印了什么信息,有什么样的安全隐患。模拟接口简单的请求判断def reset_coverage(request): if request.method == "POST": ...... 这个接口是post请求,我们使用了get请求模拟结果使用DEBUG=False时

2021-06-30 12:08:35 3413 2

原创 jmeter kafka JSR232 producer

简介:一般用jmeter 压测kafka,网上大部分都会选择使用pepper-box 插件。但这个插件有个问题,就是kafka版本的问题,你要下载pepper-box 自己修改生成jar,但这个生成jar过程中,经常出现构建失败的问题,如果对java不是很了解,这个调试就非常耗时。所以干脆直接使用JSR232 来写kafka producerkafka 安装:参考改文章,写的很详细https://blog.csdn.net/shan286/article/details/105216381/k

2021-06-13 21:47:51 1469 3

原创 jmeter Access Log Sampler使用

简介:Access Log Sampler 是个非常有用的工具,可以收集和分析真实用户操作的数据,并可用于流量分析。常见的就是我们的nginx的access.log 日志使用access.log demo192.168.242.13 - - [10/Jun/2021:16:21:15 +0800] "GET /static/service-test/redbar.gif HTTP/1.1" 200 91 "http://192.168.242.13:3025/jacoco/static/b2b2c

2021-06-11 12:04:41 499 3

原创 PMD、FindBug、checkstyle、sonar这些代码检查工具的区别

Java 静态分析工具分析对象应用技术备注CheckstyleJava 源文件缺陷模式匹配过于严格,按照Sun的规范太严格了,需要自定义规则,插件自定义规则没有查找功能,查找规则麻烦,只能做检查,不能修改代码,可配合Jalopy使用修改代码PMDJava 源代码缺陷模式匹配比较严格。独立的程序是命令行形式操作插件可以配置规则,有独立显示问题的视图,也很方便。一般来说,需要自定义规则才通过检验FindBugs字节码缺陷模式匹配;数据流分析FindBugs大...

2021-05-06 11:38:41 1203 1

原创 sonar静态扫描maven项目为啥还要编译class文件

问题sonar不是只扫描静态代码吗,扫描maven项目为啥还要编译简答先说说静态扫描大概的定义静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等(摘自网上)静态分析中有这个一个分析方法:数据流分析:数据流分析也是一种软件验证技术,这种技术通过收集代码中引用到的变量信息,从而分析变量在程序中的赋值、引用以及传递等情况。对数据流进行分析可以

2021-05-06 11:36:29 2222

原创 推荐一个非常好用的开源分类网站libhunt

前言很多时候我们想要搜索某类开源的工具,只能百度或者google,但时常搜索出来的不一定是全的,尤其是百度。搜索完后你又想对比一下此类的工具,你又得一个个去查。libhunt,一个将开源软件分类并排名的实用网站。https://www.libhunt.com/about简单使用支持的语言有以下几种。点击每个语言,可以看到语言中的收藏简讯以及目录,开源更新信息(python为例子)以python 常用的测试相关为例,找到test的分类:有五十个开源库点击进去可以清楚的看到当前流行是哪个测

2021-04-16 14:51:22 1197 1

jemeter pepper-box

pepper-box-1.0.jar

2021-06-13

sonar-p3c.zip

sonar阿里p3c规则包,19年中制作的,只有48条规则,现在官方已经集成54条了,可以参考我的博客https://blog.csdn.net/LANNY8588/article/details/106716946

2020-06-12

JPype1-0.6.3-cp27-cp27m-win_amd64.zip

python连接hbase需要的库JPype1-0.6.3-cp27-cp27m-win_amd64 依赖包下载

2019-10-23

numpy-1.16.5+mkl-cp27-cp27m-win_amd64.zip

python连接hbase需要的库numpy-1.16.5+mkl-cp27-cp27m-win_amd64 依赖包下载

2019-10-23

Web安全深度剖析完整版

Web安全深度剖析完整版,理论跟实践,可以看看。。。。。

2017-11-03

Python黑帽子 黑客与渗透测试编程之道完整版(含源码)

Python黑帽子 黑客与渗透测试编程之道(含源码),以及Python灰帽子 黑客与逆向工程师的Python编程之道 两本书

2017-11-03

jenkins中英文版双板完整版

jenkins中英文版双板完整版。。。。。。。。。。。。。。。。。

2017-11-03

puppet权威指南完整版

puppet权威指南完整版。。。。。。。。。。。。。。。。。

2017-11-02

深入性能测试LoadRunner性能测试,流程,监控,调优全程实战剖析

深入性能测试LoadRunner性能测试,流程,监控,调优全程实战剖析,某云下载链接

2017-11-02

全国计算机等级四级网络工师历年真题超详细答案

全国计算机等级四级网络工师历年真题超详细答案,非常详细,很好用的,初学者一看就会了。

2013-04-07

新编MCS51单片机应用设计

新编MCS51单片机应用设计,郭天祥老师介绍

2012-05-06

8051系列单片机C程序设计完全手册 完整版

8051系列单片机C程序设计完全手册 完整版.郭天祥老师介绍

2012-05-06

单片机的c语言应用程序设计(基于51单片机)

单片机的c语言应用程序设计(基于51单片机),很详细。

2012-04-27

pdg转pdf软件

pdg转pdf软件,可以很好地转换pdg格式。

2012-04-27

window xp 桌面壁纸转换desktopshow

window xp 桌面壁纸转换,可以享受win7系统的桌面特效。。

2012-04-23

STC89C51(52、54等)及以上的单片机使用手册

STC89C51(52、54等)及以上的单片机使用手册

2012-04-20

C4droid使用全套版(含gcc for C4droid)

在手机也能玩c、c++编程了,非常适合初学者学习,方便又好用!!!

2012-04-12

空空如也

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

TA关注的人

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