自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

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

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

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

2021-09-07 10:42:24 11333 34

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

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

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

原创 rebot命令和基本用法

rebotrebot。

2025-03-26 12:26:40 474

原创 pabot基本用法

的并行测试执行工具,用于加速测试运行,特别适用于大型测试套件。实现,可以同时在多个进程或机器上运行测试,显著减少执行时间。• 每个测试用例单独分配一个进程(适用于大量小测试)。会使用所有可用的 CPU 核心并行运行测试。• 每个测试用例独立运行,适用于大量小测试。• 允许不同进程共享变量(需在测试中使用。是 Robot Framework 的。• 4 个进程并行运行,最终合并报告。管理共享资源(如数据库、端口等)。• 使用 4 个进程并行运行。,适用于加速大型测试套件。,可显著减少执行时间!

2025-03-26 12:01:24 297

原创 CSS Selectors

纯CSS选择器功能强大,能够满足大多数UI自动化测试中的元素定位需求。通过理解元素的结构、属性和层级关系,您可以编写精准且高效的选择器来定位目标元素。使用data-*属性进行定位,因为它们通常用于存储自定义数据,且具有较高的唯一性。利用层级关系(如子选择器和相邻兄弟选择器)来缩小选择范围。尽量避免依赖文本内容进行定位,除非使用支持伪类的框架。如果您有更具体的HTML结构或遇到特定的问题,请提供更多细节,我可以为您提供更有针对性的帮助!

2025-03-01 21:38:58 825

原创 复杂场景使用xpath定位元素

记住:没有绝对稳定的定位方式,关键是要理解页面结构和元素特征,通常需要组合使用多种定位策略才能达到最佳效果。对于现代Web应用,建议配合CSS Selector和其他定位方式形成互补方案。

2025-01-31 16:35:15 401

原创 HTML中的元素(elements)

HTML(HyperText Markup Language)中的元素(elements)定义了网页的结构和内容。

2025-01-27 15:11:58 995

原创 xpath语法

XPath 是一种在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

2025-01-24 10:42:34 269

原创 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 866

原创 jmespath用法总结

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

2024-08-24 15:08:13 882

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

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

2024-08-23 22:27:23 512

原创 pytest断言总结

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

2024-08-23 22:10:00 793

原创 pytest自定义命令行选项

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

2024-08-23 14:22:17 562

原创 GitHub Action Workflow

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

2024-08-23 10:54:58 1183

原创 Conda

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

2024-08-16 14:50:06 894

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

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

2024-07-09 10:37:24 1094

原创 准备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 390

原创 构建自定义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 553

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

jenkins运行自动化用例

2024-04-18 16:58:04 648

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

pytest详细介绍

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

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

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

2024-04-10 14:06:10 566

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

pytest自动化框架实际应用

2024-04-03 15:08:16 250

原创 理解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 266

原创 服务器免密登录设置

集群节点免密登录设置

2023-09-15 17:24:20 973

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

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

2022-07-17 23:18:56 2305

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

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

2022-07-13 15:55:18 841

原创 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 732

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

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

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

原创 linux之文本处理工具

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

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

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

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

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

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

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

2022-05-07 14:11:51 1419

原创 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 779

原创 接口自动化框架搭建 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 2322 2

原创 梳理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 1484

原创 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 5719

原创 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 773

原创 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 932 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 719

原创 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 998

空空如也

空空如也

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

TA关注的人

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