自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytest-web自动化框架搭建

目标:搭建一个灵活,可复用,pom分层的web自动化框架待完善

2021-09-09 19:07:23 481 2

原创 pytest接口自动化框架搭建

目标:最终完成一个用jenkins集成或用django,达到一个自由灵活可复用的接口自动化测试框架一、设计思路-整体框架:接口自动化测试之框架搭建步骤——思路整理1.先搭建框架主干config:存放配置文件,如ini文件,可以用来保存配置各个环境的地址output:用来存放测试报告、日志等common:公共的方法,如,封装yaml操作相关的方法、excel相关操作方法等testcase:运行用例的脚本data:存放测试用例excel表、和转化为yaml格式的测试用例2.选用合适的单元测试框

2021-09-07 10:42:24 10641 32

原创 如何进行性能测试(在百度工作时日常压测总结)

如何做性能测试一、知道目标qps,看服务器需要多大的资源步骤:将线下配置与线上配置保持一致;编写压测方案;编写压测脚本-设置jmeter参数【线程数、常数吞吐量计时器、header、http请求、响应断言、聚合报告】开始运行;查看聚合报告,看错误率,90、95的响应时间,吞吐量;不通过,则进行排查问题:【1.查看cpu、内存是否达到瓶颈;2.查看数据库连接数、cpu、内存等是否达到瓶颈;3.或配合rd,通过trace组件来排查耗时较高的方法,以进行优化;】;经过优化或对服务资源调整,使达到

2021-04-04 21:48:30 6118 2

原创 nvidia-smi命令视图含义

Memory-Usage: GPU 内存的使用情况,这里是 0MiB / 24564MiB,表示没有内存正在使用,总内存为 24564 MiB。Pwr:Usage/Cap: 功耗状态,这里是 40W / 450W,表示 GPU 当前使用 40 瓦功率,最大容量为 450 瓦。GPU-Util: GPU 的利用率,这里是 0%,表示 GPU 当前没有负载。MIG M.: MIG(多实例 GPU)模式的状态,这里是 N/A,表示不适用。Fan: 风扇的速度,这里是 30%,表示风扇以 30% 的速度运行。

2024-09-09 16:47:04 720

原创 jmespath用法总结

JMESPath(JSON.MetaExpression Syntax)是一种查询和过滤JSON文档的表达式语言。JMESPath表达式可以提取、转换和计算JSON数据,以便于处理。JMESPath表达式由路径、过滤器和投影器组成,可以非常灵活地操作JSON数据。- JMESPath 支持条件表达式,类似于 Python 中的三元表达式。- JMESPath 允许你定义自定义函数来扩展其功能。- JMESPath 允许你使用正则表达式进行匹配。- JMESPath 允许你递归地搜索对象或数组。

2024-08-24 15:08:13 614

原创 pytest参数化多种用法总结

是pytest的一个核心功能,它允许你参数化测试函数,这样你就可以使用不同的参数运行同一个测试函数多次。

2024-08-23 22:27:23 430

原创 pytest断言总结

在pytest中,可以使用多种方式进行断言,以验证测试用例的预期结果。

2024-08-23 22:10:00 567

原创 pytest自定义命令行选项

在pytest中,您可以通过多种方式自定义命令行选项。

2024-08-23 14:22:17 519

原创 GitHub Action Workflow

GitHub Actions 是一个持续集成和持续部署 (CI/CD) 平台,它允许您自动化构建、测试和部署您的项目。

2024-08-23 10:54:58 1041

原创 Conda

以上是Conda的一些核心操作和命令,它们覆盖了环境的创建、管理以及包的安装和更新等基本任务。Conda是一个开源的包管理和环境管理系统,广泛用于Python和其他数据科学相关的编程语言环境。这个命令会显示一个列表,包含了环境中安装的每个包的名称、版本和安装渠道。如果您需要查看特定环境中的包而不是当前激活的环境,可以在。以上步骤将帮助您将Conda的默认下载源更改为速度更快的国内镜像源,从而提高软件包的下载速度.以上步骤基于最新的搜索结果,适用于Windows系统中的Anaconda Prompt操作.

2024-08-16 14:50:06 732

原创 在Ubuntu 22.04上安装Docker最新版本

执行这些步骤后,Docker 和相关的组件应该会被完全卸载。如果你在卸载过程中遇到任何问题,可以尝试重新启动你的系统,然后再次执行卸载命令。以上步骤应该会在您的Ubuntu 22.04系统上成功安装Docker最新版本。安装完成后,您可以使用Docker命令来管理容器和镜像.如果上述方法都不奏效,您可以尝试使用国内的Docker镜像源。如果默认的GPG密钥源无法访问,您可以尝试使用其他可信的GPG密钥源。如果你想要卸载 Docker 以及相关的组件,你可以使用。注意:此步骤需要重新登录以使更改生效。

2024-07-09 10:37:24 956

原创 准备GPU H20机器k8s环境时用到的链接

部署指南有道云笔记-记录:https://note.youdao.com/ynoteshare/index.html?id=fb78195ccdd6e3933262b84c67457737&type=note&_time=1719978023883NVIDIA相关NVIDIA Container Toolkit:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guid

2024-07-09 10:35:42 301

原创 构建自定义Tensorflow镜像时用到的链接地址整理

NVIDIA相关:NVIDIA CUDA镜像的docker hub:https://hub.docker.com/r/nvidia/cuda/tags?page=&page_size=&ordering=&name=12.4.1NVIDIA 构建的Tensorflow镜像包:https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/overview.htmlCUDA ToolKits 下载

2024-07-09 10:09:26 428

原创 jenkins集成,用于运行自动化

jenkins运行自动化用例

2024-04-18 16:58:04 591

原创 基于pytest自动化测试框架分享

pytest详细介绍

2024-04-18 16:37:36 1076 2

原创 强制删除命名空间(K8S 强制删除卡在Terminating状态的namespaces 记录)

参考:https://blog.csdn.net/lxy___/article/details/106644302。此时需要创建匿名用户的权限,命令如下。

2024-04-10 14:06:10 488

原创 pytest接口自动化框架实际应用

pytest自动化框架实际应用

2024-04-03 15:08:16 211

原创 理解OOMKilled

例如,一个拥有 8 GB 内存的节点,Kubernetes可能会运行 8 个容器,内存Request值为 1 GB。如果这些容器的内存Limit为 1.5 GB,则某些 pod 的使用量可能会超过最小值,从而导致节点内存不足并强制杀死某些pod。再或者,你设置的内存的request值比较小时,但是你的程序启动需要较大的内存,因此会超过你设置的request配额,那么就会被OOMKilled。不一定是超出了节点的可用资源限制。2.调整资源中内存的request的值,调大,例如我从200m 调到了1Gi。

2023-10-25 14:58:06 203

原创 服务器免密登录设置

集群节点免密登录设置

2023-09-15 17:24:20 816

原创 Kubernetes(k8s)主要资源及使用实践

Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为。Kuberentes常用控制器如下•(副本控制器)•Deployment(无状态应用控制器)•DaemonSet(守护进程控制器)•(有状态应用控制器)•(任务控制器)每个Pod都会获取它自己的IP地址,通常这些IP是随机的,同时Pod重启IP地址也会改变。KubernetesService定义了这样一种抽象•ClusterIP。...

2022-07-17 23:18:56 2239 1

原创 kubernetes(k8s)架构及基础知识(三)之Kubernetes API 设计理念

对于云计算系统,系统 API 实际上处于系统设计的统领地位,K8s 集群系统每支持一项新功能,引入一项 新技术,一定会新引入对应的 API 对象,支持对该功能的管理操作。K8s 系统 API 的设计有以下几条原则:API 对象是 K8s 集群中的管理操作单元。K8s 集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的 API 对象,支持对该功能的管理操作。每个 API 对象都有以下3大类属性:Pod 是 Kubernetes 中的最小运行单位,可以理解其是对容器的一种封装解析:在 Kub

2022-07-13 15:55:18 781

原创 kubernetes(k8s)架构及基础知识(二)之Kubectl 工具简介

从用户角度来说,kubectl 是控制 K8s 的驾 驶舱,它允许你执行所有可能的 K8s 操作。从技术角度来看,kubectl 是 K8s API 的一个客户端。Kubernetes API 是一个 HTTP REST API 服务,该 API 服务才是 Kubernetes 的真正的用户 接口,Kubernetes 通过该 API 进行实际的控 制。这也就意味着每个 Kubernetes 的操作都会 通过 API 端点暴露出去,当然也就可以通过对这 些 API 端口进行 HTTP 请求来执行相应的操作。

2022-07-13 15:35:00 704

原创 kubernetes(k8s)架构及基础知识(一)

本栏目用于总结一下k8s和云原生相关的知识

2022-07-10 21:25:41 503 1

原创 linux之文本处理工具

在日常工作中,我们通常需要对文本内容进行一些列的处理,以下来总结以下,linux对文本处理的几个工具和用法。简介:cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的。cut命令从文件的每一行剪切字节、字符和字段,并将这些字节,字符和字段输出。(1)基本用法cut [选项参数] filename说明:默认分隔符是制表符(2)选项参数说明(3)案例实操切割ifconfig后,打印IP地址简介:sed是一种流编辑器,它一次处理一行内容。处理时,把它处理的行存储在临时缓冲区中,称为”模式空间“

2022-07-09 00:19:08 1256 2

原创 shell编程入门(一天掌握shell编程)

一、背景到新公司之后,发现好多地方需要使用shell来编写一些简单的程序来提升自己的工作效率,因此专门B站上查看视频(尚硅谷的视频),在这里学习总结下shell编程。二、shell概述shell是一个命令行解释器,它接收应用程序或用户的命令,然后调用操作系统内核。shell还是一个相当强大的编程语言,易编写,易调试,灵活性强。三、shell入门1.脚本格式脚本格式以#!/bin/bash开头(指向解释器)2.第一个shell脚本,helloworld.sh,输出helloworld!

2022-05-22 22:51:37 26176 3

原创 【k8s】容器组(pod)启动失败场景总结

一、背景 现在的工作是云计算测试,经常需要接触云原生相关的技术,这里我总结下日常工作中遇到的pod启动失败的场景二、pod启动失败的场景查看pod启动事件命令:kubectl describe pod xxx -n xxx场景1:节点cpu不足...

2022-05-07 14:11:51 1366

原创 python基础及知识扩展

一、背景最近老是能看到抖音上给推荐一个博主的python视频,主要介绍python中各种的技巧,今天(五一期间)专门抽出时间来进行下总结。二、知识整理1.数字相关操作(太基础,简要写只写运算符和内置函数)计算商 //计算余数 %计算次幂 **求绝对值 asb(-5)将10进制转为16进制 hex(10)—>0xa (0x表示这是16进制)2进制转10进制 int(‘1001’, base=2) —>9 (不太明白base)求字符’A’的ascill码,ord(‘A’)求

2022-05-02 18:39:34 746

原创 接口自动化框架搭建 pytest

持续完善中。。。。1.用例管理一个excel文件就是一个项目,一个项目中的每个sheet就是一个模块,一个模块中写正常用例和异常用例2.提取数据用一列来专门提取数据,格式是字典,key为被赋值的变量,value为jsonpath要查询的接口返回的字段key,运行时判断如果有需要提取数据,则将数据进行保存到ini配置文件中3.url组合excel表格中用path,运行时通过输入环境参数,和表中的服务名,在ini配置文件中进行匹配对应的域名,和path组合成完整的url4.run运行时选择环境R

2022-03-03 11:25:56 2231 1

原创 梳理jenkins构建流程

一、背景最近需要进行服务环境治理项目,于是我把公司jenkins相关的部署流程给总结了一下。二、jenkins操作架构图三、详细流程拉代码–>打包–>构建镜像–>升级pod镜像1. 以go语言jenkins的流程梳理,以dev-bizops-svr为例1.丢弃旧的构建2.参数化构建-GIT-TAG3.git拉取代码--用tag号命名${GIT-TAG}构建新的分支 4.当前分支与master分支进行比较,看是否已经合并代码5.执行shell:5.1:定义变量PRO

2022-02-27 21:37:02 1375

原创 Grafana平台监控应用实例

一、背景由于各个服务日志格式不统一,导致现在添加日志监控,在数据收集方面比较困难,因此需要对日志格式进行统一二、涉及的平台、技术等Grafana平台地址 账号:admin,密码:Okay@123metrics举例Prometheus-webUI(这是公司的不写地址了)Prometheus学习文档grafana学习文档grafana官网地址1.k8s基础的知识deployment:pod依据deployment的yaml文件来进行创建pod:k8s中最小的单位,pod中有容器,容器

2022-02-23 13:06:21 5602

原创 python操作ini文件(configparser模块)

一、configparser简介configparser是读取ini配置文件的包,配置文件格式如下:[ ]内是写明section,section下为option,即key=value结构[dev]host = www.baidu-dev.comport = 3333dev = devmysql = mysql-wf[test]host = www.baidu-test.comport = 8081test = test[beta]host = www.baidu-beta.co

2022-02-16 15:34:47 747

原创 HttpRunner源码分析(数据驱动csv文件只取第一行数据问题)

一、运行逻辑步骤1.生成的pytest用例文件中:a.测试类类继承HttpRunner;b.入口为test_start(),如果需要进行数据驱动,则重写test_start()方法改为传参的方式test_start(param)源码的test_start()方法: def test_start(self, param: Dict = None) -> "HttpRunner": """main entrance, discovered by pytest"""

2022-02-11 19:13:26 884 2

原创 每天学点python

2022年,每天都要学点python1月19日 yied 和 yied from 区别和用法1.带Yied函数——带yield的函数是一个生成器,而不是一个函数,这个生成器有一个函数就是next函数,next就相当于"下一步"生成哪个书,这一次的next开始的地方是接着上一次的next停止的地方执行的,所以调用next的时候,生成器并不会从foo函数开始执行,只是接着上一步停止的地方开始,然后遇到yield后,return出要生成的数,然后到这步就停止结束了。优点:用生成器可以节省内存2.Yi

2022-02-09 16:11:17 682

原创 HttpRunner入门

先认识一下自动化领域的六大框架:java:junit、testingpython:unitest、pytest、robotframework一、什么是httprunner?1.它是面向http协议的测试框架,只需要维护一份ymal/json就可以进行自动化测试、结合locust性能测试,线上监控、持续集成、devops等多种需求二、设计思想和理念1.复用优秀的开源项目(不重复造轮子,而是将轮子组装成战车)2.约定大于配置(提升测试脚本的可维护性)3.配置文件组织测试用例(yaml/jso

2022-02-04 10:00:00 955

原创 三次握手与四次挥手

SYN(synchronous 建立联机) 、ACK(acknowledgement 确认) 、PSH(push 传送)、 FIN(finish 结束) 、RST(reset 重置) 、URG(urgent 紧急)、Sequence number(顺序号码) 、Acknowledge number(确认号码)。1、三次握手2、四次挥手...

2022-01-29 15:41:34 1876

原创 全链路压测

一、背景公司最近开始进行链路压测,由我负责配合新东方的人员进行全链路压测。二、压测场景分析三、压测准备工作四、压测数据五、数据隔离六、压测执行方法六、压测问题分析及解决...

2021-12-01 18:58:18 2876 1

原创 django之rest_framework框架总结

备注:这是学rest_framework时做的笔记,给自己看的,格式有点乱第一章开发模式 普通开发方式,前后端放在一起 前后端分离后端开发 为前端提供url(API/接口的开发) 永远返回HttpResponse面向对象 -封装 -对同一类方法封装到类中 class File:文件增删改查方法class BD:数据库的方法将数据封装到对象中继承多个类重复的功能,可以用继承来实现Django FBV、CBVFBV基于函数的视图CBV基于类的视图viewc

2021-11-02 17:39:11 498

原创 基于python的接口录制平台的设计与开发

背景:要写论文,我选择的题目是“基于python的应用研究与开发”,我打算把公司的hrun-接口录制平台,从设计,到技术分析,到代码实现,进行系统的总结下。(继续完善中。。。)

2021-11-01 10:19:32 680

转载 python之反射机制

待学习

2021-08-26 22:19:07 125

转载 软件测试之jmeter性能测试

本文参考:Jmeter原理Jmeter原理JMETER是运行在JVM虚拟机上的,每个进程的开销比loadrunner的进程开销大,如果以进程的方式来运行每台负载机上的进程数量不会允许太多,当有大量并发时就需要大量的负载机,jmeter选择了以线程方式来运行。jmeter通过线程组来驱动多个线程运行测试脚本对被测服务器发起负载,每一个负载机上都可以运行多个线程组。jemter运行场景不仅可以再gui方式中完成,还可以运行命令行,而且命令行的运行方式对于负载机的资源消耗会更小。Jmeter基本原理是建立一个

2021-08-26 18:04:14 1006

空空如也

空空如也

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

TA关注的人

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