- 博客(170)
- 收藏
- 关注

原创 【计算机网络】TCP协议超详细讲解
TCP协议广泛应用于可靠性要求较高的应用场景,如网页浏览、文件传输、电子邮件等。它提供了可靠的数据传输和流控制机制,能够确保数据的完整性和有序性。然而,由于TCP协议在传输过程中引入了较多的控制信息,因此相比于UDP协议,TCP的传输速度较慢。
2023-08-08 13:31:29
11052
42
原创 二叉树的层序遍历(图解+代码实现)
在二叉树的中,二叉树的遍历中有前序遍历、中序遍历、后序遍历和层序遍历。其中前序遍历、中序遍历和后序遍历都属于深度优先搜索(DFS),而层序遍历属于广度优先遍历(BFS)。接下来为大家如何对二叉树进行层序遍历。
2025-03-17 22:54:54
337
1
原创 Pytest之parametrize参数化
在 pytest 中,parametrize 是一个非常实用的装饰器,它允许你对测试函数进行参数化,即使用不同的参数组合多次运行同一个测试函数,从而更高效地进行测试覆盖。argnames:这是一个字符串,表示要传入测试函数的参数名。如果有多个参数,参数名之间用逗号分隔。argvalues:这是一个可迭代对象(如列表、元组等),其中每个元素代表一组参数值。如果 argnames 中有多个参数名,那么 argvalues 中的每个元素应该是一个包含对应数量值的元组。
2025-03-02 10:48:55
604
1
原创 Pytest之fixture的常见用法
在pytest中,fixture是一个非常强大和灵活的功能,用于为测试函数提供固定的测试数据、测试环境或执行一些前置和后置操作等,与setup和teardown类似。
2025-03-01 23:29:46
1269
原创 回溯算法之子集问题
本文讲解回溯算法中的另一类问题,也就是子集问题。子集问题和组合问题类似,只是收集结果的时机不同。如果对组合问题不太了解,可以看一下我的这两篇文章回溯算法之组合和排列问题和回溯算法之组合和排列结果如何去重。
2025-03-01 10:22:44
503
原创 Pytest测试用例执行跳过的3种方式
在实际场景中,我们可能某条测试用例没写完,代码执行时会报错,或者是在一些条件下不让某些测试用例去执行,这个时候我们就需要跳过一些测试用例的执行。执行pytest.skip()在测试函数内部动态跳过。
2025-02-28 21:31:59
643
原创 【Pytest】setup和teardown的四个级别
在 pytest 中,setup 和 teardown 用于在测试用例执行前后执行一些准备和清理操作。setup 和 teardown共有四个级别等级说明范围函数级别setup_function 和 teardown_function针对每个测试函数执行前和执行后进行操作。类级别setup_class 和 teardown_class针对每个测试类执行前和执行后进行操作,它们必须是类的静态方法。方法级别setup_method 和 teardown_method。
2025-02-28 11:09:12
485
原创 Pytest自定义测试用例执行顺序
在pytest中,我们可能需要自定义测试用例的执行顺序,例如登陆前需要先注册,这个时候就需要先执行注册的测试用例再执行登录的测试用例。本文主要讲解pytest的默认执行顺序以及如何自定义测试用例执行顺序假设这里有四条测试用例,如果不指定顺序,那么默认执行的顺序肯定是不符合我们的要求的。如果把测试用例按照顺序都写到一个文件中是没问题的,但显然是不会这么做的。按照文件命名也这种方式也不可取,因此需要我们自定义执行测试用例的执行顺序。自定义测试用例执行的顺序需要使用到插件。
2025-02-27 22:47:32
689
原创 pytest.ini、pytest运行参数以及使用markers标记测试用例
pytest.ini是 pytest 测试框架的配置文件,用于配置 pytest 的行为和参数。配置测试运行参数:可以在pytest.ini中设置各种参数,如测试用例的搜索路径、测试报告的格式和输出路径、测试执行的超时时间等。标记和筛选测试用例:通过在pytest.ini中定义标记,可以对测试用例进行分类和筛选。
2025-02-27 21:57:07
1071
原创 【Selenium|进阶】超详细讲解PO模式
PO(Page Object)模式是一种在自动化测试中广泛应用的设计模式,它将页面元素和操作封装成独立的类,提高了测试代码的可维护性、可复用性和可读性。解决元素定位改变带来的维护成本增加元素定位与用例分离大家看到元素定位与用例分离是不是有点懵,别急接我们先来看元素定位与用例分离会有哪些问题。
2025-02-26 17:20:32
467
原创 Selenium八大元素定位方式
在使用selenium实现自动化的时候,很长一部分时间都是在定位元素。因此定位元素位置在selenium中及其重要。本文主要讲解selenium的八大元素定位方式。
2025-02-26 15:30:18
1202
原创 回溯算法之组合和排列结果如何去重
回溯算法中有两个难点:一是剪枝,二是去重。剪枝是指在回溯搜索过程中,根据一定的条件判断,提前终止某些不可能产生最优解或有效解的搜索分支,从而减少搜索量,提高算法效率。去重指在回溯算法生成所有可能解的过程中,去除重复的解,确保最终结果集中的每个解都是唯一的。排序 + 标记先对输入的数组进行排序,这样相同的元素会相邻。在回溯过程中,使用一个标记数组来记录每个元素是否已经被使用过。当遇到相同元素时,如果该元素的前一个相同元素没有被使用过,那么当前元素就不能使用,否则会产生重复组合。
2025-02-25 20:56:07
1039
原创 回溯算法之组合和排列问题
回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略,它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。
2025-02-25 00:04:17
1072
原创 50道题帮你快速复习MySQL(五)
解释:WHERE 子句的作用是比较当前日期所在的周数和每个学生在当前年份生日所在的周数,如果两者相等,则认为该学生在当前周过生日,将其记录筛选出来。运行结果就不粘贴了,因为时间是变化的,结果可能不一致,
2025-02-21 21:55:22
382
原创 50道题帮你快速复习MySQL(四)
这题可以先从分数表中按照id分组求分数最小值,如果最小值都大于70,那么其它课程也大于70分.然后用学生表,课程表和分数表进行联表查询让id在上面的结果中即可。这题我们需要让学生表,分数表,课程表和教师表连接,然后筛选出张三老师教授的数据,然后根据成绩由高到低排序,返回最上面一条数据即可。在 MySQL 中,LIMIT 子句用于限制查询结果返回的行数,常用于分页查询或者只需要获取数据集的前几行等场景。在 MySQL 中,YEAR() 函数是一个日期和时间函数,用于从给定的日期或日期时间值中提取年份部分。
2025-02-21 11:12:30
430
原创 50道题帮你快速复习MySQL(三)
在 MySQL 中,LIKE 关键字是用于在 WHERE 子句中进行模糊匹配的操作符,它允许你在查询时使用通配符来查找符合特定模式的数据。首先分析需要用到哪些表,这题需要使用到教师表,课程表和分数表.知道需要哪些表之后,解题就很简单了。这题需要使用到窗口函数,先用rank()函数算出成绩的排名,然后在进行筛选。使用姓名和性别进行分组,然后计算个数再使用。这题也很简单,用窗口函数即可。这题需要使用模糊查询.
2025-02-20 21:49:08
467
原创 50道题帮你快速复习MySQL(二)
我们可以先查询出学号为“01”的同学所学的课程id,只需要让其它学生学习课程的id在学号“01”同学学习课程的结果集中即可。首先分析学到用到哪几张表,学生表和课程表肯定是要的,学生表和课程表之间还需要使用到分数表进行连接。解题思路:首先查询出学过张三老师的课程的学生id,然后在查询学生表中增加学生id不在查询出学过张三老师的课程的学生id中即可。这题的条件比较难,需要和"01"号的同学学习的课程完全相同的其他同学的信息.我们可以进行拆解。首先可以查询出至少有一门与学号为“01”的同学所学相同的同学的id。
2025-02-20 13:30:41
640
原创 50道题帮你快速复习MySQL(一)
本系列文章旨在帮助大家快速复习MySQL,共有4张表,50道题.创建数据库表和表数据的SQL在下面这边文章中➡️本篇文章讲解1~10题。
2025-02-17 11:05:32
1073
原创 50道题快速复习MySQL之准备篇
本文旨在帮助大家快速复习MySQL,共有4张表,50道题.本篇文章在做讲解50道题目之前,先将数据库表以及表中的数据创建好。
2025-02-16 21:31:15
680
原创 【简码短链】使用Selenium实现UI自动化测试
Chrome浏览器 版本为版本 129.0.6668.90(正式版本) (64 位)129版本的Chrome浏览器的驱动,将webdriver放到jdk所在的bin目录下验证是否成功打开IDEA,创建Maven项目,在pom.xml导入所需要的依赖包
2024-10-06 19:43:43
892
原创 简码短链测试用例设计报告
本篇文章主要是简码短链项目的功能,安全性,易用性,兼容性等方面进行测试,采用的方法有等价类划分法,边界值分析法,错误推测法等。
2024-10-04 23:05:18
1000
原创 【Python|接口自动化测试】使用requests发送http请求时添加headers
本篇文章主要讲解如何使用requests请求时添加headers,为什么要加headers呢?是因为有些接口不添加headers时,请求会失败。
2024-09-30 15:03:34
2633
原创 【Python|接口自动化测试】使用requests库发送HTTP请求
Python的requests模块是一个非常流行的第三方库,用于发送HTTP请求。它简化了与Web服务进行交互的过程,使得开发人员可以更方便地处理HTTP请求和响应。本篇文章需要对HTTP和Python有一定的了解,只会解释关键性的操作mac环境使用命令在接口测试时,要根据接口文档进行测试。
2024-09-30 11:40:12
519
原创 Playwright快速入门(TypeScript版)
Playwright 相比 Selenium,具有多浏览器支持、现代化 API、更快性能、精细页面控制、自动等待元素、简单文件上传、强大网络层控制等优势,提供了更好的开发者体验。这些特性都大大提升了开发者的使用体验和测试效率。本文的内容大多来自官网,如有问题,可查看官方文档。Playwright Test 是专门为了满足端到端测试的需求而创建的。Playwright 支持所有现代渲染引擎,包括 Chromium、WebKit 和 Firefox。
2024-09-14 15:38:07
1265
原创 【Docker】镜像&容器命令全解析
如今的软件开发和部署领域,Docker 以其强大的容器化技术成为了众多开发者的得力工具。接下来为大家介绍 Docker 的镜像命令和容器命令。
2024-09-13 10:45:12
1412
1
原创 Docker简介&在Centos和Ubuntu环境下安装Docker
Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 操作系统上。Docker 通过使用容器化技术简化了开发流程,并且使得应用可以在几乎任何环境中一致地运行,无需担心环境差异带来的问题。
2024-09-12 15:41:14
1761
原创 一篇文章了解Pytest单元测试框架
Pytest是一个功能强大且灵活的 Python 测试框架,主要优点包括简洁易用、自动测试发现、丰富的插件生态系统、参数化测试、详细的断言错误信息、以及强大的 fixtures 机制。执行测试类中的测试用例的方法除了在命令行中输入pytest "想要运行文件的测试路径"和点击测试类的小三角之外,还可以创建main方法。对于pytest的安装,可以直接在pycharm中打开终端输入。可以看到这里就报错了,有很明显的红色,红线中的内容就是错误的原因。除了上述运行pytest用例的方式,还可以旁边的小三角执行用例
2024-09-10 22:40:21
8326
原创 Python安装第三方库的4种方法
Pycharm中点击Python Packpages,然后输入想要安装的第三方库名称,然后点击install安装即可。不过pip官方下载源在国外,下载速度慢. 可以看我这篇文章去更改pip的下载源。在pycharm中引入第三方库爆红之后,我们把鼠标移动到对应的库位置,按下。pycharm会告诉你解决方法,第一个就是安装这个第三方库,点击安装即可。在pycharm中打开终端。输入第三方库名称,然后点击。选择project下面的。
2024-09-06 08:07:56
7993
原创 【Python】Windows环境下更改pip安装源
由于pip的默认的安装源在国外,导致我们在使用pip命令安装Python 库或包时速度特别慢,因此我们可以临时使用国内的源进行下载,或者直接更改pip的下载源。
2024-09-05 20:42:23
3070
原创 【Java|Stream流】获取各个数据类型的Stream流
在 Java 中,Stream 流是一种处理集合数据的高级方式,可以方便地对集合进行各种操作,如过滤、映射、排序、聚合等。先得到一条Stream流,并把数据放上去利用Stream流中的API进行各种操作中间方法:方法调用完毕之后,还可以调用其他方法终结方法:最后一步,调用完毕之后,不能调用其他方法。
2024-09-02 11:06:35
629
原创 【Java|Stream流】不可变集合
不可变集合:不可以被修改的集合不可变集合优点:安全性由于不可变集合不能被修改,所以可以安全地在多个线程之间共享,而不用担心被意外修改,减少了多线程环境下同步的开销。在将集合传递给其他方法或组件时,不用担心集合被外部代码修改,提高了程序的安全性和可维护性。性能优化不可变集合可以进行一些性能优化,例如缓存哈希码,因为其内容不会改变,所以哈希码也不会改变。易于理解和维护代码中使用不可变集合可以使逻辑更加清晰,因为不需要考虑集合在其他地方被意外修改的情况。
2024-09-01 13:57:44
1015
原创 IPv4和IPv6的区别是什么?什么是局域网和广域网,公网IP和私有IP?
广域网实际上就是一个设备数量超级庞大的局域网,想要把世界不同的设备连接起来可不容易,需要在各种重要的城市建设骨干服务器,在不同的区域还需要布置分支,需要大量的资金成本以及后期维护,牵头做这些事情的组织就是我们所说的ISP(互联网服务提供商),也就是我们熟知的电信,移动和联通.
2024-08-26 11:40:37
1782
原创 一篇文章讲清楚什么是ARP协议
在说ARP协议之前,我们先来了解IP地址和MAC地址的作用.IP 地址是网络中用于标识主机或网络设备的逻辑地址。用于在网络中进行路由选择和数据的分组转发。MAC 地址是网络设备的物理地址,具有唯一性,通常被固化在设备的网络接口卡(NIC)中。在局域网中用于标识具体的网络设备。就如同每个人的身份证号一样,MAC 地址确保了网络中的设备能够被唯一识别。以寄快递为例,IP地址就是收件人,而收货地址就是MAC计算机每发送一包数据,都需要填写源MAC,目标MAC,源IP和目标IP.
2024-08-11 16:30:41
1465
原创 JMeter高效管理测试数据-参数化
在JMeter中,参数化是一种常用的技术,用于使测试场景更加灵活和动态。通过参数化,你可以让JMeter在每次请求中使用不同的值,这在模拟真实用户行为或测试不同输入条件时特别有用。参数化测试就是将测试数据组织起来,使用不同的测试数据调用相同的测试方法参数化可以通过多种方式实现,包括使用变量、函数助手、CSV数据文件设置、用户定义的变量和环境变量等。定义变量使用CSV数据文件设置要求:使用用户定义的变量配置被测系统的协议,域名和端口首先还是在测试计划下面新键线程组,然后在线程组下面新建结果树。
2024-08-11 00:22:57
744
原创 TypeScript简介以及开发环境的搭建
说到TypeScript,就不得不说一下JavaScript了。TypeScript是一种静态类型语言,在编译阶段会进行严格的类型检查。// 编译错误,因为参数'b'的类型应该是 number 而不是 string通过类型注解声明变量、函数参数和返回值的类型,这有助于在开发过程中尽早发现类型不匹配的错误,提高代码的可靠性和可维护性。而JavaScript是一种动态类型语言,变量的类型在运行时确定。// 在运行时才会发现类型错误,返回 "12"
2024-08-07 17:03:08
545
原创 使用JMeter实现自动判定运行结果
在JMeter中实现自动判定运行结果,通常涉及到设置断言(assertions)和监听器(listeners),以及可能的后处理器(post-processors)。这些组件可以帮助你验证响应数据是否符合预期,从而自动判断测试的结果。本篇文章主要介绍断言。断言:让程序自动判断预期结果和实际结果是否一致响应断言JSON断言。
2024-07-21 10:51:54
815
1
原创 JMeter介绍、安装配置以及快速入门
Apache JMeter是一款开源的压力测试工具,主要用于测试静态和动态资源(如静态文件、服务器、数据库、FTP服务器等)的性能。它最初是为测试Web应用而设计的,但后来扩展到其他测试领域,包括WebSocket、SOAP/RESTful Web服务、FTP、JDBC、LDAP、SMTP、JMS、TCP以及几乎任何可以使用Java实现的协议。负载测试:可以模拟大量用户同时访问系统,从而测试系统的响应时间和稳定性。功能测试:可以通过发送请求并检查返回的结果来验证应用程序的功能。断言和监听器。
2024-07-20 12:20:37
1244
原创 【Linux】Windows环境下配置虚拟机静态IP
使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容。DHCP:动态获取IP地址,即每闪重启设备后都会获取一次,可能导致IP地址频繁变更。当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。修改完点击应用即可,此时可能不会立即生效,需要点击按钮关闭再打开即可。前置工作做完了,接下来在Linux中配置静态的IP。综上所述,我们需要静态IP地址,不要让IP变化。方法1: 修改配置文件的方式。接下来是图形化界面修改方式。
2024-07-10 23:47:21
661
1
原创 【Linux】IP地址与主机名
域名解析是将人类可读的域名转换为计算机网络使用的IP地址的过程。DNS是一个分布式数据库系统,用于存储和检索域名与IP地址之间的映射。IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址。IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的P地址呢?每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名。实际上,我们一直都是通过字符化的地址去访问服务器,很少指定P地址。
2024-07-10 22:30:19
1349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人