自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux常用命令

本文总结了Linux常用命令,涵盖文件管理、系统监控、网络配置等核心操作。主要内容包括:文件和目录操作(cd、ll、mkdir/rmdir);文件权限管理(chmod);文件查看命令(cat、more、less、tail);进程管理(ps、kill);系统监控(top、df);网络配置(ip addr、ifconfig);端口查看(lsof、netstat);压缩解压(tar);以及定时任务管理(crontab)。这些命令为Linux系统日常管理和维护提供了基础工具集,适合快速查询和参考使用。

2025-12-10 22:20:22 230

原创 http响应码及含义

一般的请款下浏览器的默认都是1.x 的版本的, 如果出现了HTTP 1.1版本的,那么你需要在Internet 选项的高级下进行设置的。换而言之,就是请求的资源暂时驻留在不同的URI下。403 Fobidden 服务器可以处理请求、发送的认证凭证也鉴权通过了,但是认证发现请求的凭证不具备访问的权限。400 Bad Request 请求的格式、语法或内容不符合服务器的预期(请求头、请求体不对)。502 Bad Gateway 错误的网关 网关访问服务器这个环节,服务器返回给网关的响应无效。

2025-12-10 14:00:06 265

原创 soapUI设置挡板,在mockaction中编写脚本实现根据请求参数的不同来返回不同的响应

该文档描述了一个基于Groovy脚本的mock服务实现方案。通过解析请求体中的requestType参数,动态返回对应的response模板:Find请求返回responseFind内容,Update请求返回带时间参数的responseUpdate(${time}变量通过脚本自动赋值为当前时间戳)。脚本采用JSON解析和日期格式化处理,确保不同请求类型能返回预设响应,验证结果显示功能实现正确,参数传递正常。整个流程包含请求解析、逻辑判断和动态响应生成三个关键环节。

2025-10-08 13:30:35 198

原创 使用python+flask设置挡板

在测试过程中,可能会需要使用挡板来模拟外部系统接口。比如涉及到外部系统接口调用时,可能会需要特定的返回,比如某个字段为指定值。或者在压测过程中,为了更准确的了解系统的性能,需要模拟外部系统的接口返回。response = {"status": 0, "message": "Success", "userid": userid, "relname": "真实姓名"}response = {"status": -1, "message": "没有您要查询的信息", }# 根据请求参数的不同,返回不同的响应。

2025-09-26 17:08:18 714

原创 请求soapui设置挡板的挡板报错413

在soapui安装路径下的 .vmoptions文件中添加下面一行配置。之后重启soapui,再启动挡板。soupui设置的挡板,访问报错:413 FULL head。

2025-09-16 13:11:14 122

原创 jmeter连接oracle数据库报错:ORA-01005: null password given; logon denied

摘要:使用JMeter连接Oracle 19c数据库时出现"ORA-01005: null password given"错误。环境配置为JDK 1.8.0_151和ojdbc8.jar驱动。解决方法是将驱动替换为ojdbc6.jar后成功连接。值得注意的是,该问题仅出现在云桌面环境,本地Windows10使用ojdbc8.jar可正常连接。建议遇到相同问题时尝试更换驱动版本。

2025-01-02 16:21:07 480 1

原创 使用模板匹配识别滑动验证码的滑块缺口

前提:滑动验证码是如下的验证码,滑块缺口是完全灰色的缺口。如果滑块缺口还是原图,只是透明度有所下降的场景,不太适用。读取了提前保存好的背景图片,模板图片,进行模板匹配,并画出最终的匹配结果。由于需要滑动的图片距离背景图片左侧10px,所以滑动距离为min_loc[0] - 10。得到缺口的位置,就能计算需要滑动的距离。最终将滑动验证码进行验证封装起来,min_loc[0]截图,将上图中灰色缺口单独保存成图片 作为模板图片。换一张图片,使用相同方法和模板图片,匹配打印结果如下。为缺口在背景图片中的水平位置。

2024-12-11 09:19:06 431

原创 allure测试报告相关简记

修改alllure测试报告的标题、图标,需要先执行pytest的所有用例,生成pytest执行结果后,调用set_environment。生成allure测试报告之后,再调用update_title。

2024-11-15 19:09:35 385

原创 selenium元素定位校验以及遇到的元素操作问题记录

selenium元素定位表达式的校验几个元素定位或点击报错的问题结局方法记录

2024-11-15 17:16:27 1279

原创 pytest在conftest.py中实现用例执行失败进行截图并附到allure测试报告

conftest.py文件用于定义共享设置、夹具和钩子函数。可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture;conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件;不需要import导入conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了。如果放到某个package下,那就在package内有效。

2024-11-15 16:50:17 915

原创 琐碎笔记——pytest实现前置、后置、参数化、跳过用例执行以及重试

pytest实现前置、后置、参数化、跳过用例执行以及重试。

2024-11-15 13:28:26 1737

原创 根据当前浏览器版本,下载或更新驱动文件为对应的版本

通过ChromeDriverManager().install()下载会报错:requests.exceptions.ConnectionError: Could not reach host. Are you offline?换了一个下载网址和方式,通过windowsAPI获取安装的浏览器的版本,通过上面的地址获取浏览器驱动版本列表信息,找到与浏览器大版本号相同的最新版本的驱动版本,拼接成最终的下载地址,然后进行下载操作。

2024-11-15 11:40:49 1329

原创 Jmeter生成JWT token

JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑而自包含的方式,用于在各方之间以JSON对象的形式安全地传输信息。此信息可以验证和信任,因为它经过了数字签名。JWT可以使用密钥(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。JSON Web令牌由三个部分组成,即:Header、Payload、Signature,这三者由两个点(.)分隔开。通常JWT展示为:Header.Payload.Signature。Header。

2024-10-02 20:54:14 2588

原创 使用SoapUI设置挡板

右击 挡板设置,点击 Add new mock action,选择请求方式,填写路径后,点击 OK。打开postman 调用挡板接口,查看返回接口,返回与response 1填写的内容一致。编辑挡板的返回内容,选择返回状态码、增加响应头、选择响应体的类型、填写预期的响应数据。再次请求挡板,返回时间为60秒后。编辑response 1 ,点击 script,代码录入。填写Paht、Port、Host信息,点击OK。打开SoapUI,点击Empty,新建一个项目。点击运行按钮即可让挡板成功运行。

2024-09-18 10:46:59 379

原创 Postman 取上一个接口返回中的结果字段作为下一个接口的入参

接口2把变量作为入参,可以取套件变量、环境1的变量或者全局变量。这里以套件的变量为例,使用 {{变量名}} 的形式引用变量,调用接口2,成功返回数据。在接口1的Tests模块设置变量,可以设置全局变量、套件的变量和环境变量。这里取接口1中的userCode字段作为接口2的入参。将上接口的返回取出,并且将指定字段值赋值给一个变量v1,在下一个接口中带入{{v1}}的值。以接口1、接口2为例,接口1和接口2在同一个套件hhhh下,当前所选的环境是环境1。调用成功后,可以看到各个变量的值已经存在,并且有值。

2024-09-18 10:13:36 1375

原创 redis常见类型设置、获取键值的基础命令

本文介绍了Redis常见数据类型的基础操作命令。主要包括:1)使用TYPE命令获取键值的数据类型;2)string类型的set/get/del命令;3)list类型的lpush/rpush/lrange/rpop命令;4)set类型的sadd/srem/smembers命令;5)zset类型的zadd/zscore/zrem/zrange命令;6)hash类型的hset/hget/hdel/hgetall命令。每种数据类型都配有示例图片说明,涵盖了键值设置、获取、删除等基本操作,适合Redis初学者快速掌握

2024-09-18 10:01:41 811

原创 随机生成车架号、统一社会信用代码和组织机构代码

本文介绍了统一社会信用代码和身份证号的生成规则及实现代码。统一社会信用代码由18位组成,包含登记管理部门代码、机构类别代码、行政区划码、组织机构代码和校验码。文中提供了Python代码实现随机生成统一社会信用代码,包括组织机构代码生成和校验位计算。同时介绍了车架号(VIN)的生成规则,排除了字母O、I、Q,并包含校验位计算。最后给出了身份证号的生成方法,可指定行政区划和出生日期,支持随机生成和校验位计算。这些代码适用于需要批量生成测试数据的场景。

2024-09-10 08:49:09 3741

原创 python连接kafka生产者发送消息

通过pip install kafka-python安装第三方工具。再导入相应的方法,可以连接kafka进行消息发送和读取。

2024-07-11 17:44:41 1824

原创 logging二次封装

【代码】logging二次封装。

2024-06-02 21:01:00 293 1

原创 pytest识别测试用例的机制以及和unittest的区别

- 文件 以test_开头或以_test结尾的python文件,即test_*.py或*_test.py - 类,在第一点识别到的文件中的类,且满足一下任一条件: 1)以Test_开头,且没有__init__()初始化函数的类,可以没有父类 2)继承自unittest.TeatCase的类,需要以test_或Test_开头 - 函数 1)第一点的文件中独立的以test_开头的函数,不在任何类中 2)识别到类中的以test_开头的函数

2024-05-29 21:12:59 653

原创 sql优化笔记

nest loop join,两表都能在关联字段走上所以时,驱动表选错,选成大表驱动小表。(小表:通过其他条件过滤后,查询结果更少的表。如果没有其他条件,只是两表关联,那小表就是数据量较小的表)3、对于nest loop join,数据量都很大,关联字段又用不上索引的情况,可以考虑使用临时表存放被驱动表的数据,并且在关联字段上建一个索引;2、改写sql,使用hint绑定执行计划,让查询走上索引或者指定驱动表;高版本也可以考虑优化成hash join的方式,减少判断的次数。1、根据查询条件,增加索引;

2024-05-19 21:26:39 188

原创 navicat连接oracle执行存储过程时关闭navicat,看存储过程是否会继续执行

确认600秒后,再次打开navicat客户端,对同步表进行查询,查看是否成功插入数据。打开另一个窗口执行存储过程,然后直接关闭整个navicat客户端。测试navicat关闭后,调用的存储过程是否会继续执行。结束navicat进程。查询表数据,结果是1。

2024-05-13 12:08:33 750

原创 算法笔记记录

本文包含两部分内容:01背包问题和快速排序算法。 01背包问题:给定N件物品(每件有重量和权重)和承重W的背包,要求放入物品总价值最大(价值=重量×权重)。通过动态规划,用二维数组dp[i][j]表示前i件物品在容量j时的最大价值,比较放入和不放入两种情况,取价值较大者。示例代码实现了该解法,得出容量7时的最大价值为27。 快速排序:通过选取基准值将数组分为左右两部分(左小右大),递归处理子数组直至完全有序。算法使用双指针从两端向中间扫描,交换元素使基准值归位。代码演示了该排序过程,最终输出有序数组。

2024-05-11 12:40:36 176

原创 bat文件中 if结构右括号前一句用了::注释语句,执行报错“此时不应有 )。”

if结构右括号前一句用了::注释语句,执行报错“此时不应有 )。

2024-04-13 10:25:47 1639

原创 数据库学习笔记——索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引是为了加快查询速度、提高查询效率而存在的。

2024-03-24 21:31:10 531

原创 windows下安装mysql5.7.44

最后一行生成一个临时的root@localhost的登陆密码。需要保证data目录为空,如果data目录不为空,会报错。进入mysql开源下载官网(https://dev.mysql.com/downloads/mysql/)将上一步下载的zip安装包解压到安装目录,并在解压得到的第一个目录下新建my.ini文件。选择符合操作系统对应位数的安装包,点击【Download】按钮即可进行下载。如果跳过安全检查,则不会生成临时密码,不用输入密码,直接回车就可以登录。密码为初始化时的临时密码,这里是:eH,M=?

2024-03-24 16:04:45 4562 2

原创 unittest框架+HTMLTestRunner生成报告教程

unittest测试框架学习python官网unittest框架的介绍。HTMLTestRunner的安装和使用。

2024-01-14 19:59:39 597

原创 每天定时对几张表进行备份的方法

记录一下每天定时对几张表进行备份的方法编写存储过程,使用navicat的自动运行设置自动任务。本来打算用存储过程+JOB来定时调用,结果没有执行JOB任务的权限。所以用了这个方法。

2024-01-09 20:31:43 822

原创 自动化测试模型

把线性测试中不同脚本的重复内容提取出来,封装成公共模块,脚本调用封装好的方法。例如,每个脚本中都有登录这一过程,就可以将登录单独封装,每隔脚本需要执行登录时,就调用哦个一下登录这个类的方法。这样一来,修改登录相关的操作时,只需要对封装的模块做改动,降低了维护成本。关键字驱动的自动化测试框在受界面影响方面,较数据驱动和线性测试有明显的优势,可根据界面的变化更新对应的关键字对象,而不用重新录制脚本。关键字驱动测试是数据驱动测试的一种改进,将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。

2023-12-24 17:56:19 478

原创 linux命令行双击才能输入单引号的问题解决

安装了centos6,进入终端命令行,只有双击键盘才能输入单引号。内容修改成如下内容,退出保存即可解决。可以通过修改键盘布局来解决。

2023-11-26 16:35:48 553

原创 jmeter学习 查询接口自动化测试

jmeter查询接口自动化测试假设上面要调用的接口,数据来源为我本地数据库的mobilearea表。添加后置BeanShell处理器,取出查询的预期结果,与接口调用的实际结果进行比较。第二步,随机设置入参(在查询取样器后添加后置BeanShell处理器)后置BeanShell取出接口调用的结果。此处的mobile即为上一步赋值的变量。第三步,调用接口,并去除接口返回结果。第一步,从数据库查询数据。第四步,查询预期结果。

2023-11-18 20:42:09 186

原创 selenium学习 显示等待和隐式等待

WebDriver 提供的 implicitly_wait()方法可用来实现隐式等待,implicitly_wait()的参数是时间,单位为秒。这里的时间并不会影响程序执行的速度,当脚本执行到某个元素定位时,如果元素存在,则继续执行;如果在设置的等待时间里仍然定位不到指定元素,则会抛出异常。在设置时间内,每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间仍检测不到指定元素,则抛出异常。timeout:指定的超时时间,单位为秒,若超过该时间找不到指定元素则抛出报错。driver:浏览器驱动。

2023-11-12 18:26:51 274

原创 二次封装selenium功能

本文介绍了Selenium WebDriver的使用方法,重点说明了新版初始化方式的改进(采用ChromeService替代旧版executable_path方式)。文章提供了基于Python的Selenium二次封装类BasePage,包含浏览器初始化(支持Chrome/Edge)、页面操作(打开/刷新/关闭)、元素定位(支持显式等待)等核心功能。还封装了键盘操作(文本输入、回车键)、鼠标操作(点击、移动)等交互方法,通过WebDriverWait实现元素等待机制,并处理超时异常。代码示例展示了如何通过配

2023-11-05 17:43:49 762 1

原创 Jmeter学习笔记 查询数据库并使用BeanShell将查询结果设置为请求入参

查询数据库并使用BeanShell将查询结果设置为请求入参

2023-10-29 17:25:54 452

原创 python + selenium 自动下载浏览器驱动文件

python + selenium 自动下载浏览器驱动文件

2023-10-22 20:01:48 1419 1

原创 jmeter学习 连接数据库进行查询并将查询结果作为参数使用

这里我添加的请求还是查询数据库的,引用上面查询结果的值,因为每次要取的结果最后一个数不一样,所以需要用到__V()函数,驱动类 mysql数据库选择com.mysql.jdbc.Driver。{num},)}表示acc_num的值,但num=1时,就取第一行查询结果的值。连接串 jdbc:mysql://ip:port/database。后续需要应用查询结果,只需要应用变量acc_1、acc_2的值。最大次数使用查询结果的函数,直接使用${acc_#}即可。连接名 后面查询需要使用这里的连接名。

2023-09-03 22:28:54 1472

原创 jmeter非图形化运行命令

例如:执行Learning_1.jmx文件,生成图形化报告保存到result文件夹下。-l 指定生成的jtl格式的结果。(需要打开图形化jmeter来查看)-o 保存HTML报告的文件夹,必须为康文件夹。如果result文件夹不为空,则会报错。-t 指定要执行的jmx文件名。jmeter非图形化运行命令。-n 非界面方式运行。-e 生成HTML报告。

2023-08-27 16:02:15 261 1

原创 Jmeter BeanShell 变量的获取和日志打印简记

beanshell语法简记

2023-08-20 21:43:36 3408 1

原创 Linux命令学习——grep、sed、awk

使用正则表达式,如/^s/表示匹配以s开头的行,下面的语句$0~/^s/表示第一个字段以s开头,!打印文件的 第三个列,-F ':' 表示以冒号作为分隔符,如果不指定-F选项,则默认以空格分隔。sed -e '命令1' -e '命令2' -e '命令3' 文件名列表。输入文件的每行作为一个“记录”,变量NR就是行号,变量NF是每行的域的数量。printf("格式串",变量1,变量2,……内置变量$1是第一域内容,依次,$2是第二域内容。打印出包含var的行的内容,/var/表示要找到包含var的行。

2023-05-13 17:15:35 3979

原创 Linux文件管理和目录管理——ls、cp、find、tar命令

x eXtract抽取 从磁带中抽取指定的文件。但不知顶文件名时,抽取所有文件。v Verbose冗长 每处理一个文件,就打印出文件的文件名,并冠以功能字母。t table列表 磁带上的文件名列表,当不指定文件名时,将列出所有的文件。指定普通文件代替设备文件,将多个文件或目录树存储成一个文件。文件打包:tar cvf my.tar *.[ch] makefile。条件:与名字*.c匹配的文件名。不给参数时,列出当前目录下所有文件和目录。实参为目录时,列出目录下的所有文件项。实参为文件时,列出文件项。

2023-05-13 17:02:36 219

win7版本的谷歌浏览器和驱动,浏览器版本:版本 109.0.5414.120(正式版本) (64 位)

win7版本的谷歌浏览器和驱动,浏览器版本:版本 109.0.5414.120(正式版本) (64 位) 目前电脑的操作系统是win7,想在win7上使用python + selenium进行web自动化测试框架学习,发现谷歌浏览器支持win7的版本都比较低,驱动也比较难找。 下载的文件解压后,直接运行chromsetup.exe安装对应版本的浏览器,然后把chromedriver.exe放到想要的位置既可。

2024-05-26

空空如也

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

TA关注的人

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