- 博客(80)
- 收藏
- 关注
原创 数据库三范式
数据库的**三范式(3NF,Third Normal Form)**是数据库设计中的一套规范,旨在减少数据冗余,提高数据一致性。,减少了数据冗余,提高了数据一致性,但可能会导致查询时需要多表关联,影响查询效率。因此,在实际应用中,需要在。满足三范式后,数据库设计更加。订单号 + 产品ID。
2025-02-13 08:31:30
361
原创 Linux中ps、tar、grep
(Global Regular Expression Print)用于搜索文本中的匹配模式,支持基本字符串匹配和正则表达式。是常用的命令,分别用于进程管理、文件归档与解压、文本搜索。(Process Status)用于显示当前系统的进程信息,结合。(Tape Archive)用于打包和解压缩文件,常与。的 CPU、内存占用情况及其执行命令。:显示进程 ID 为。
2025-02-12 11:03:48
501
原创 MySQL中如何定位慢查询
这个工具可以统计慢查询的执行次数、平均执行时间、索引使用情况等,帮助优化SQL语句。通过这些方法,可以有效地找到并优化慢查询,提高MySQL数据库的性能。,用于记录执行时间超过指定阈值的SQL语句。在MySQL 5.6+ 版本,可以通过。当发现某条SQL语句较慢时,可以使用。如果慢查询日志文件较大,可以使用。
2025-02-08 11:09:37
346
原创 PO(Page Object)模式简介
这样,测试代码不需要直接操作 Selenium,而是调用。在 PO 模式下,每个网页或组件都会被封装成一个。:测试用例只描述业务逻辑,不涉及底层实现。:页面对象可以在多个测试用例中复用。:页面结构变更时,只需修改对应的。:封装所有页面的公共操作,如。:封装登录页面的元素和操作。
2025-02-07 10:56:44
376
原创 pytest.ini文件
测试框架中的配置文件,用于管理和定义测试运行时的全局配置。行为和插件配置的途径,使测试执行更加灵活和高效。如果有进一步问题或需要特定插件配置,可以随时询问!
2025-02-07 09:45:17
401
原创 Python中的*args和**kwargs
可迭代对象和字典,将其作为参数传递。可以在一个函数中同时使用。在函数调用时,也可以用。在 Python 中,
2025-02-05 11:01:16
367
原创 性能测试常见指标
性能测试的目的是评估系统在不同负载条件下的稳定性、响应速度和资源使用情况,确保其能够满足业务需求。指系统在单位时间内可以处理的请求或数据量,反映系统的处理能力。衡量系统的计算、存储和网络资源的使用情况,决定系统的负载能力。指系统对请求的响应时间,从用户发起请求到收到系统返回的时间。同时访问系统的用户数,包括活跃用户和等待响应的用户。衡量数据库的查询和事务处理能力,决定系统的整体性能。衡量系统返回错误响应的比例,反映系统的稳定性。
2025-02-05 09:40:07
782
原创 logging按照指定间隔输出日志
你还可以根据需要设置更复杂的切换方案。例如,按小时切换日志文件,或者每个日志文件保留 10MB,当文件超过 10MB 时切换。会根据指定的时间间隔(如每天、每小时等)自动切换日志文件,并且根据设置的保留日志的个数删除旧的日志文件。如果你更倾向于按文件大小切换日志文件,可以使用 RotatingFileHandler。通过这种方式,你可以更好地管理日志文件,避免单个日志文件过大,同时保留一定的历史日志。模块中的 TimedRotatingFileHandler。,它基于文件大小来切换日志文件,而不是时间。
2024-12-31 09:03:31
329
1
原创 VScode中相对路径
在使用VScode保存文件时,默认相对路径时当前项目的根目录,但我们通常使用相对路径都是对比当前编辑文件所在位置。点击设置,搜索code runner,在勾选图中标识,重启即可。
2024-12-30 10:35:41
315
原创 Selenium多窗口切换
在 Selenium 中,多窗口切换是指在浏览器中同时打开多个窗口或标签页时,如何在它们之间进行切换和操作。每个窗口或标签页都有一个唯一的窗口句柄(通过 Selenium,我们可以获取这些句柄,并在不同窗口之间切换,进行相应的操作。
2024-12-29 20:19:04
502
原创 iframe简介
iframe是一个内嵌网页的容器,允许将一个页面嵌入到另一个页面中。它具有隔离性,可以让嵌入的页面独立运行,不会影响主页面。需要注意跨域和安全性的问题,尤其是使用iframe嵌入外部内容时。在 Selenium 等自动化测试中,操作iframe中的元素时,必须先切换到iframe,然后执行操作。
2024-12-29 19:54:45
689
原创 Selenium操作下拉框,弹出框,滚动条
滚动页面,向下滚动 300 像素")下拉框操作:使用Select类来操作 HTML 的<select>元素。弹出框操作:使用Alert类来处理浏览器的警告框、确认框和提示框。滚动条操作:通过方法执行 JavaScript 来滚动页面或滚动到某个元素。
2024-12-29 19:20:06
522
原创 Selenium中的等待
隐式等待:适用于需要等待的元素查找,适合全局设置,但不如显示等待精确。显示等待:推荐使用的等待方式,能够在等待特定条件时提供更多控制,适用于动态页面和复杂的等待场景。强制等待:尽量避免使用,除非在极个别场景下可以保证页面加载时间稳定。
2024-12-29 16:13:09
525
原创 CSS选择器
(CSS Selector)是Web开发中用于选择网页元素的强大工具。在中,CSS选择器被广泛用于定位网页元素。通过使用CSS选择器,你可以基于元素的标签、ID、类、属性等条件来查找页面中的元素。
2024-12-29 10:35:50
877
原创 Xpath选择器简介
XPath(XML Path Language)是一种用于在 XML 或 HTML 文档中定位节点(元素)的语言。它在 Selenium 中非常常用,因为它非常灵活、强大,可以根据元素的属性、层级关系、文本内容等多种方式定位页面元素。XPath 允许你按条件精确查找元素,适用于复杂的 HTML 结构。XPath的基本语法类似于文件路径,定位元素时采用 “路径” 的形式来选择元素。XPath表达式通常分为两种类型:绝对路径从根节点()开始,依次通过各个父元素,直到目标元素。例如,HTML 中的 元素包含在
2024-12-29 10:29:16
1134
原创 Python中count函数
Python 的count()函数用于计算子字符串或某个元素在字符串或序列(如列表、元组)中出现的次数。count()
2024-12-28 13:57:31
803
原创 Python, math模块中常见函数
math模块提供了许多数学运算函数,涵盖了基础的数学操作(如开方、对数、三角函数)和一些进阶的数学操作(如阶乘、最大公约数、浮点数操作等)。使用math模块可以使代码更加简洁,特别是进行数值计算时。
2024-12-27 15:48:26
447
原创 Python中字符串常见方法
在 Python 中,字符串 (str) 是一种非常常用的数据类型,提供了丰富的内置方法来处理和操作字符串。下面我将介绍一些常用的字符串方法,并附上示例。
2024-12-27 14:31:18
260
原创 Python中的map()
map()是 Python 中的一个内置函数,用于将一个指定的函数应用于给定可迭代对象(如列表、元组等)的每个元素,并返回一个新的迭代器(map对象)。map()函数非常适用于需要对可迭代对象中的每个元素执行相同操作的场景。
2024-12-27 14:05:50
763
原创 TCP和UDP的区别
特性TCPUDP连接性面向连接(需要三次握手)无连接(无需建立连接)可靠性提供可靠的数据传输,确保数据顺序和完整性不保证数据的可靠性,可能丢包传输方式流式传输数据报传输(每个数据包独立)速度较慢(有较大的开销和延迟)快速(没有重传和连接建立的开销)流量控制和拥塞控制有流量控制和拥塞控制无流量控制和拥塞控制头部开销20 字节(不包括选项)8 字节适用场景需要高可靠性和数据顺序的应用需要实时性高、容忍丢包的应用错误检测提供完整的错误检测和重传机制提供简单的校验和,但没有错误恢复机制。
2024-12-27 08:33:24
743
原创 Postman处理Token
获取 Token 后,手动将其添加到请求的 Authorization 头中。使用自动获取 Token,并通过环境变量将其注入请求。
2024-12-24 10:32:32
1577
原创 Jmeter定时器
它可以在请求之间添加等待时间,模拟真实用户的行为,从而避免测试时所有请求被瞬间发送的情况。计时器是性能测试的重要部分,可以帮助模拟更接近真实场景的并发请求。同步定时器相当于一个储蓄池,累积一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起并发,所以可以用来做大数据量的并发请求。:通过调整线程的执行频率,来维持恒定的吞吐量(即每分钟的请求数)。,即每秒钟发送三个请求,因此最终吞吐量。:为每个请求添加固定的延迟时间。,同步定时器中模拟用户组的数量为。其它的定时器,自行查阅。
2024-12-23 11:05:17
911
原创 Jmeter逻辑控制器
是用于控制线程组内的请求执行顺序、条件和逻辑流的重要组件。逻辑控制器可以帮助实现复杂的测试方案,如条件执行、循环执行、随机执行等。下面是一些常见的控制器。在 JMeter 中,逻辑控制器(其它逻辑控制器,请自行查阅。
2024-12-23 09:11:22
387
原创 Jmeter关联
用于提取响应中的动态数据。适用场景:响应内容为 HTML、JSON、XML 等格式,动态数据嵌在文本中。配置步骤在需要关联的请求下添加正则表达式提取器配置关键参数:引用名称:提取变量的名称。正则表达式:定义提取动态参数的模式。模板:指定提取结果的组号(通常为$1$表示第一组)。默认值:提取失败时的默认值。使用提取的变量(${变量名})作为后续请求的参数值。示例:提取小说名,并使用百度搜索第一个请求:配置提取器:专门用于提取 JSON 格式的响应数据。适用场景。
2024-12-22 19:18:10
866
原创 Jmeter线程组参数
在中,(Thread Group)是整个测试计划的核心组件之一,用于定义虚拟用户的执行方式。通过配置线程组的参数,可以模拟不同数量的并发用户行为、测试不同的负载模式等。
2024-12-22 13:27:34
488
原创 JMeter及其组件简介
JMeter 是一款开源的负载测试和性能测试工具,广泛应用于对 Web 应用、数据库、FTP、SOAP/REST API 等系统进行性能测试和功能测试。它由 Java 编写,具有跨平台能力。以下是 JMeter 的主要功能和内部组件介绍:核心功能:支持的协议:JMeter 通过组件来组织和执行测试,主要组件包括以下几类:
2024-12-22 12:53:12
972
原创 pymysql库
PyMySQL是一个强大且易于使用的 Python 库,用于与 MySQL 数据库进行交互。它支持常见的数据库操作,如查询、插入、更新和删除,并且提供了事务管理和参数化查询的功能。通过结合其他库(如DBUtils),可以进一步提升数据库操作的性能。
2024-12-21 16:31:03
615
原创 Python中的with语句介绍
你也可以创建自己的上下文管理器,通过定义一个类,并实现和__exit__()方法来使用with语句管理资源。exc_val } ") return True # Prevent the exception from propagating # 使用自定义上下文管理器 with MyContextManager() as cm : print("Inside the context") # 可以引发一个异常来测试__exit__ raise ValueError("An error occurred")
2024-12-21 14:03:48
473
原创 Postman 参数化
是指在API请求中使用变量或外部数据源,以便能够动态地更改请求的内容,而不是每次手动修改。通过参数化,可以提高测试的灵活性和复用性,尤其在测试多个不同参数的接口时非常有用。Postman支持多种参数化方法,包括环境变量、全局变量、数据文件(CSV/JSON)等。下面我将详细介绍如何在Postman中实现参数化,并提供一个实际的例子。
2024-12-21 10:52:21
895
原创 接口测试基础概念
接口测试(API Testing)是对软件系统中不同组件或服务之间交互的测试,主要目的是验证接口的功能、可靠性、性能和安全性。提前进行系统层面的安全性、稳定性测试,发现潜在的安全漏洞、性能瓶颈或系统崩溃等问题,保证系统的健壮性和安全性。提前介入能够通过自动化测试等手段,屏蔽UI层的潜在不稳定性,降低UI交互不流畅等问题对整体测试的影响。测试可以通过各种方法(如接口测试、数据验证等)发现UI层难以暴露的逻辑和数据问题,确保系统的稳定性。
2024-12-20 19:30:37
220
原创 pathlib标准库
pathlib是一个强大的库,简化了文件系统路径的处理。它支持路径拼接、读取和写入文件、遍历目录、路径比较等操作,且具有跨平台的兼容性,使得路径操作更加直观和清晰。相较于传统的os.path模块,pathlib提供了面向对象的接口,使得路径操作变得更加优雅和易于理解。
2024-12-20 19:06:26
431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人