自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Xmind思维导图生成测试用例并导入禅道

xmind2testcase兼容xmind高版本

2024-06-20 14:47:46 589

原创 pytest并发执行时token异常处理问题

代码是由之前的代码使用gpt生成的 ,针对token.json文件的锁好像无用,还是会导致登录频繁报错。这里改为对username的锁,保证同一时间同一账号只登录一次。另外,避免出现其他不稳定的情况,建议加上重试 --reruns 2。接前面加入钩子函数处理token复用的问题,只保证了用例的串联执行,我的部分测试用例中接入了通义千问的部分接口生成测试数据,七八个场景跑完差不多快要10分钟。这里还有个疑问,加上并发执行后,控制台打印的中文日志全变成了乱码,不明所以,后续有时间再看看怎么解决。

2024-06-14 15:28:00 754

原创 记录request库的部分封装

这里的super(Register, self).__init__(api_root_url, **kwargs)的作用是确保Register类的实例在创建时,不仅设置了自己的属性(如果有的话),还正确地初始化了从RestClient继承来的所有属性和进行了必要的配置设置。总的来说,这个RestClient类提供了一个方便的方法来发送HTTP请求,并记录请求的详细信息,方便调试和监控。request_log方法用于记录请求的详细信息,包括URL、HTTP方法、请求头、请求参数、请求体等。

2024-06-14 14:21:19 546

原创 记录pytest中场景执行的token异常处理问题

注册==>登录 这一步执行的非常快,每次都能成功,且账号和我后续用例的账号是一个账号。登录这里并没有修改token.json文件,即缓存对应账号的token值。这就导致我第二条用例使用同一账号登录时,报错登录频繁,被拦截。所有的用例都报获取不到token,方法改了又改,浪费半天时间还是没有发现任何问题。缓存机制添加的是600s,这里提示间隔1400s,很明显不太正常,第一个用例和第二个用例之间怎么可能差距这么大呢?,每个用例单独执行都很正常,但是批量执行时一直报错,token缓存处理也不生效。

2024-06-13 17:14:54 811

原创 pytest中token的一种处理方法

定义了一个get_or_refresh_token闭包,该闭包负责根据用户名获取或刷新token。虽然auth_tokens fixture在模块级别只实例化一次,但是它返回的闭包(get_or_refresh_token)能够对每个传入的用户名进行独立的操作,确保每个账号的token都是根据需要获取或刷新的。在某个场景中,各个接口经常需要使用到token,而且接口对频繁登录做了防抖,无法频繁调用。考虑了很多方法,发现总是有一些或多或少的弊端,这里在conftest中定义了一个钩子函数用于处理token。

2024-06-12 14:36:01 463

原创 pytest中一个场景测试的demo

allure.severity_level.BLOCKER:阻塞级别的问题,系统无法继续运行或测试无法继续。allure.severity_level.TRIVIAL:轻微的问题,几乎不影响系统功能,通常是最不紧急的。allure.severity_level.NORMAL:普通级别的问题,不影响主要功能,但需要解决。allure.severity_level.MINOR:次要级别的问题,影响较小,可以稍后处理。@allure.severity 是一个装饰器,用于设置测试用例的严重性级别。

2024-06-12 14:12:06 487

原创 git回滚项目至指定版本

这里回退至上一个版本 git reset --hard 版本号。若非对应分支,使用git checkout 分支名 切换分支。进入到项目目录地址,使用git log查看提交版本信息。再次推送即可 这里需要使用-f命令 强行推送。2.在pycharm中回滚项目。

2024-06-12 10:20:11 398

原创 pytest中失败用例重跑

配置文件中加入命令 --reruns 次数 也可在命令行中pytest --rerun-failures=2。下载rerunfailures插件包。

2024-06-11 09:32:40 498

原创 Allure在jenkins中无法显示的问题

Path需要选择相对路径的allure-report、allure-results。jenkins中使用allure生成报告需要注意工作环境和路径的配置。jenkins容器中已安装jdk和allure。

2024-06-04 17:41:21 472

原创 记录request中上传图片接口的测试过程

入参: 注意圈出来的部分参数。apifox调试接口。

2024-05-31 13:07:50 214

原创 docker不删除容器更改其挂载目录

场景:docker搭建的jenkins通常需要配置很多开发环境,当要更换挂载目录,每次都需要删除容器重新运行,不在挂载目录的环境通常不会保留。3.更改config.v2.json 中的MountPoints信息。数据看起来比较乱,直接复制到在线解析中解析,方便找到需要更改的挂载目录。例如 我的jenkins容器的id是14b052d9faa2。备份一下,再把解析并更改的json文件粘贴过来即可。1.docker ps 查找容器id。2.进入该容器的配置文件中。

2024-05-24 14:41:38 544

原创 记录jenkins中解决sqlite3报错的问题

参考博客。

2024-05-24 14:08:53 253

原创 linux中安装sqlite包

在pycharm中写好代码,为让代码能在jenkins中构建并运行,linux中也需要安装所需包。下载pysqlite3仍然报错,缺少必要组件。下载并更新setuptools。

2024-05-24 10:47:02 280

原创 记录github小程序短视频系统的搭建过程

其中Basecontroller中的ffmpeg所在路径,需要自行下载ffmpeg。最后搭配其提供的api接口文档进行上传视频即可正常访问。大概涉及到这些代码块,进行更改即可。

2024-05-24 09:26:22 496

原创 docker搭建私有仓库并推送本地镜像

报错Get "https://1.94.143.44:5000/v2/": http: server gave HTTP response to HTTPS client。这里把本地的nginx镜像打包,docker tag nginx 自己的ip:5000/nginx:1.0。增加一行 "insecure-registries" : ["自己的ip:5000"]curl -XGET http://自己的ip:5000/v2/_catalog。注意这里也要配置daemon.json文件。

2024-05-22 11:13:42 1013

原创 记录docker ps查找指定容器的几个命令

1.docker ps | grep registry 查询包含registry的容器2.docker ps | grep -E "reigistry\s+" 开启正则匹配模式,匹配registry后面为空格的容器,若是匹配一整行可以这样写docker ps | grep -E "^([0-9a-f]{12})\s+registry\s+.*"这里,-E开启了 extended regular expressions,正则表达式\s+registryregistry\s+.*

2024-05-22 09:45:49 615

原创 关于pytest中用例名称使用中文乱码的解决

场景:使用@pytest.mark.parametrize装饰器为用例自定义名称时,运行显示乱码。1.在根目录 pytest.ini中增加一行代码。2.在conftest.py中加入钩子函数。

2024-05-21 17:18:43 356

原创 记录使用data.load_yaml加载yaml文件

解释一下:get_data 函数尝试从指定路径加载YAML文件。此时,pytest.skip(str(ex)) 将被调用,它会立即停止当前测试用例并标记为跳过,原因是异常的字符串表示(str(ex))。这样做的目的是在加载YAML文件失败时,防止测试继续执行并产生错误结果,而是以更友好的方式告知测试被跳过,原因是加载数据时遇到了问题。如果文件成功加载,函数会返回解析后的YAML数据。加载结果: yaml_data 是一个字典,其内容是从名为 data.load_yaml 的函数加载的YAML格式的数据。

2024-05-21 10:42:58 205

原创 k8s1.24+ dashboard不能自动生成token的问题

根据yaml文件配置内容创建更新资源对象,可以看到没有生成admin-token类似字眼。较早版本会自动生成secret,v1.28.2版本需要手动生成,执行命令即可。创建k8s-admin.yaml文件。

2024-05-17 13:30:52 371

原创 记录k8s中部署dashboard报错ImagePullBackOff

修改kubernetes-dashboard.yaml 文件,将kubernetes-dashboard容器镜像来源改为 mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0。查看container服务日志信息,提示无法拉取k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1这个镜像。查看pod信息,能观察到在node1节点新创建了一个dashboard。手动拉取镜像超时,说明这个镜像源用不了,尝试换一个。

2024-05-17 11:49:01 341

原创 Vmware首次创建虚拟机配置ssh

2.桌面会有一个光盘文件,点击进去解压到桌面即可。我这里已经安装过了。1.虚拟机->安装VMware Tools。3.重启ssh服务并尝试连接。安装tools方便复制粘贴。3.按照步骤执行即可。4.安装完后重启系统。2.下载ssh相关包。

2024-05-16 13:56:15 352

原创 云服务器上部署Kubernetes集群(K8S)

该博客是centos系统,所以稍微有点区别结合另一篇博客一起参考。由于是ubuntu系统,参考两个博客配置。master节点:master。1.查看所有集群中所有pod。node节点:node1。禁用交换分区和防火墙。

2024-05-16 09:54:34 219

原创 Allure修改LOGO图片

注释部分是因为发现文字加上去有点丑,怎么调都太好看,干脆去掉了。

2024-05-14 11:58:39 289

原创 使用unitest对redis连接做一个简单的单元测试

首先设置一个测试用的键值对,然后通过调用handle_redis_token()方法设置键值对,并使用断言语句确保设置后的值与预期值相等。首先设置一个测试用的键值对,然后通过调用handle_redis_token()方法获取键值,并使用断言语句确保获取的值与预期值相等。该方法为类级别的设置方法,用于在所有测试用例执行前进行环境准备。首先创建一个测试套件,将TestRedisDb类中的测试用例添加到套件中,然后创建一个测试运行器并运行测试套件。的类,用于简化与Redis数据库的交互操作。

2024-05-11 16:51:41 217 1

原创 pytest中直接参数传递和@pytest.mark.usefixtures的区别

在这种情况下,delete_register_user作为测试函数的一个参数直接被传递。@pytest.mark.usefixtures("delete_register_user") def test_register_user(self,delete_register_user )这两种前置delete_register_user有什么区别?在这两个例子中,delete_register_user都是一个fixture,它会在test_register_user测试函数运行之前被调用。

2024-05-11 16:32:25 250 1

原创 pytest使用装饰器@pytest.fixture实现前后置执行用例

1.@pytest.fixture定义的作用域大小关系:session > module > class > function。(1)scope表示的是被@pytest.fixture标记的方法的作用域。function(默认),class,(2)params:参数化(支持,列表[],元祖(),字典列表[{},{},{}],字典元祖({},{},{})(4)ids:当使用params参数化时,给每一个值设置一个变量名。(5)name:给表示的是被@pytest.fixture标记的方法取一个别名。

2024-05-10 16:35:37 148

原创 记录Consul+TenSunS+Prometheus监控主机

环境:华为云服务器、ubuntu22。

2024-04-30 14:02:41 919 3

原创 使用docker部署nginx并创建本地挂载目录

修改/newdir2/nginx/conf/conf.d/default.conf文件。拉取nginx镜像并启动nginx。复制配置文件到宿主机器。

2024-04-29 16:26:16 424 2

原创 ubuntu扩容分区

5、输入m 打开帮助,读这里的选项,我们就能够找到增加一个分区的,输入n,这里我们增加一个主分区,所有后面输入p,然后默认的从扇区编号41940992-62914559意思是将磁盘多余的扇区都分配出来。4、能看到整个sda磁盘30G,已经分配的/dev/sda5 还是之后19.5G的容量,这时候我们就可以把10G的磁盘空间分配给/home的空间,这里我们用逻辑卷的模式来进行。2、标红色的是我的根文件系统,可以看到这个文件系统已经使用了51%,共有19G的容量。扩完磁盘之后,再fdisk 看下磁盘的容量。

2024-04-29 16:22:09 143

原创 linux换源

进入到目录下 新建sources.list 将原来的备份 使用docker cp /newdir2/ containID:/etc/apt/目录下。cat /etc/issue 查看操作系统 百度搜索其国内源。用aptitude 代替 它是debian的包管理器。如果换源后 安装gcc等失败。apt-get update即可。环境:ubuntu18.04。

2024-04-29 16:18:30 449

原创 docker常用命令

p 3306:3306: 将容器的 3306 端口映射到宿主机的 3306 端口,允许外部程序通过宿主机的 3306 端口访问容器内的 MySQL 服务。-itd: 这个参数的作用是让容器以交互模式(-i)、伪终端模式(-t)运行,并且在后台以守护进程模式(-d)运行。--name mysql-test: 为容器指定一个名称,这里是 "mysql-test"docker system prune -a 删除所有未使用的镜像和容器。du -sh 查看内存大小 du -sh /newdir。

2024-04-29 16:17:07 106

原创 docker 迁移问题 Ubuntu

重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。3.2 迁移/var/lib/docker目录下面的文件到 /home/docker。八、确定容器、镜像没问题后删除/var/lib/docker/目录中的文件。4.1 编辑 /etc/docker/daemon.json 文件。/newdir/docker --> docker的存储路径。迁移后一定要赋予权限!二、停止docker服务。

2024-04-29 16:15:36 302

原创 使用prometheus+mysqld_exporter监控数据库

环境:华为云服务器、ubuntu22、4核16G。

2024-04-29 15:41:25 1293

原创 关于Ubuntu释放桌面环境占用内存

我的华为云服务器是从本地VMware迁移出去的服务器,由于是学习用的虚拟机所以还是搭建的带有桌面环境,后续更换至云主机后,因为规格比较小,发现桌面环境占用内存较大,所以考虑卸载桌面环境释放多余的内存。使用top命令,shift+m查看内存占用情况。三个gnome进程就23% ,无奈服务器只有2g,属实捉襟见肘。重启服务器,再次使用top命令查看内存占用信息。也可不重启,前提是需要杀死掉不需要的进程。6.清理安装gnome时候留下的缓存程序软件包。5.彻底卸载删除gnome的相关配置文件。

2024-04-29 14:22:32 364

原创 docker容器的备份和导入

一、场景:云主机规格较小,运行jenkins项目占用内存较大,考虑将其转移到规格更大的云主机中。4.使用scp命令传输文件至另一台服务器。3.查看镜像文件并保存为tar文件。1.查询容器id/名称并复制。2.打包容器为镜像文件。

2024-04-29 10:35:52 532

原创 关于清除swap分区的问题

一、场景:服务器运行应用过多,可用的系统内存不足时,数据会交换至swap分区,引起系统的卡顿,反应很慢。后续关掉了应用,系统内存使用占比下滑,但是swap used占比仍巨高。二、sawp分区的数据不会自动清除,需要手动刷新。使用top命令,按shift+M查看内存占用情况,swap剩余可用大小仅32760。三、解决方案,重启swap分区即可,但需要保证剩余系统内存大小>swap分区used大小。环境:华为云服务器、ubuntu18、规格:2核2G。再次查看即可看到swap分区占用内存已被释放。

2024-04-29 10:23:06 288

原创 关于Ubuntu部分版本使用sh命令执行脚本出现Syntax error: “(“ unexpected的错误

一、场景:脚本allow_ip_port.sh在机器1上使用sh命令正常执行,在机器2上执行报错Syntax error: "(" unexpected。在目录下使用./allwo_ip_port.sh 执行脚本或者bash allow_ip_port.sh都可以。环境:华为云服务器、机器1:ubuntu22.04、机器2:ubuntu18.04。通常是一个指向系统默认shell的符号链接,需要进一步排查。没啥区别都是ubuntu,除了版本不同以外。

2024-04-28 10:46:43 557

原创 python+flask自定义接口

问题一:运行时会默认是本地地址127.0.0.1,使用本机ip地址无法访问,将main.py中加入app.run(host=0.0.0.0,prot=8000)也无用,会一直是127.0.0.1。解决方案:在命令行中输入。四、先运行main.py,再执行一下test.py看看返回结果,返回如下则成功了。一、需求:对数据库进行简单的sql语句压测。这里自定义一个接口,用于插入表中。环境:华为云服务器、ubuntu、python3.8。即可指定端口,并可以访问ip。

2024-04-25 17:50:55 220 2

原创 记录Awvs-scan漏洞扫描工具的使用

二、 浏览器输入ip+13443启动登录页,启动页如下。云服务器部署可能会遇到无法访问的问题,将http改为https试试。4.运行change_credentials.sh,先输入账号再输入密码即可重置密码。3.输入cd /home/acunetix/.acunetix/。1.先查容器id,如下图容器id为60a53359d4bd。三、先在设置将语言改为中文(实际上只能部分功能显示中文)。问题一: 关于更改管理员密码后忘记,重置密码的问题。参考此地址,使用docker直接部署。一、使用docker部署。

2024-04-25 17:37:05 348 5

原创 记录实时监控系统hertzbeat的使用

在script后面增加查询命令,输出要和field数量保持一致,比如我增加sda_io Rate和sdb_io Rate,script可以追加这样的命令:iostat -d sda -x | awk 'NR==4{print $NF}';二、需求:目前大部分软件监控目的端都要安装Agent,比较麻烦,所以我找了下有没有不需要安装agent的工具,hertzbeat就是一款。找到需要自定义的地方,增加字段,我这里时监控sda和sdb两个磁盘的io占比,图中是我监控服务器的默认指标,可以自定义模板。

2024-04-25 13:30:22 652

空空如也

空空如也

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

TA关注的人

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