自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS开发环境搭建及打包流程

本文介绍了iOS开发环境搭建及项目部署流程:1)从App Store下载Xcode;2)克隆项目并配置真机环境;3)安装CocoaPods:需更新Ruby环境、更换国内镜像源,通过gem安装并初始化Podfile;4)项目运行与调试;5)打包分发:生成Archive文件,选择App Store Connect或第三方平台分发,并提供了解决审核报错的隐私清单修复脚本使用方法。

2025-09-04 15:40:01 1037

原创 selenium自动下载更新浏览器对应的webdriver

文章摘要:针对UI自动化测试中浏览器更新导致WebDriver不匹配的问题,介绍使用webdriver-manager库自动管理驱动版本的方法。通过封装GetDriver类实现自动检测浏览器版本、下载匹配驱动、失败重试机制,支持Chrome、Firefox、Edge等主流浏览器及headless模式,解决了手动更新驱动的繁琐问题。代码提供Selenium3/4兼容写法,包含缓存清理、异常处理等优化措施。

2025-08-29 16:35:04 410

原创 Webdriver-Manager 4.0.1启动错误解决

摘要:webdriver-manager 4.0.1版本存在启动错误问题,会误启动THIRD_PARTY_NOTICES.chromedriver文件而非chromedriver.exe。解决方法有两种:1)修改代码指定正确路径;2)升级webdriver-manager并删除旧版chromedriver文件。建议采用第二种更简便的方案。

2025-08-28 18:01:43 280

原创 大模型MCP技术解析

大模型技术发展面临知识更新慢、个性化不足、无法执行现实任务等局限。Function Calling技术通过外部工具调用赋予模型"手脚",使其能获取实时数据、提供个性服务、处理复杂任务。MCP协议进一步扩展这一能力,采用客户端-服务器架构,支持本地(STDIO)和远程(SSE)两种模式,连接文件系统、数据库等资源。实践环节以Cherry Studio为例,演示了文件系统、MySQL等MCP服务配置,并介绍了基于fastmcp的开发方法和Dify平台集成方案。该技术体系显著增强了大模型的实际

2025-07-15 14:44:41 1018

原创 Pycharm接入本地部署deepseek实现写代码起飞

但是身为一位撸代码的人员,如果需要优化代码还得需要复制代码,然后打开三方软件去问答,是不是显得很麻烦呢?在settings中找到tools,里面可以找到CodeGPT ,然后在Providers中找到Ollama 配置即可,下图是我的配置。安装完proxy ai后,pycharm右侧边栏会出现proxy ai的图标,点击后,即可使用deepseek进行问答了。在设置中 plugins中搜索proxy ai,搜索后,然后点击下载安装即可。可以实现优化代码,分析文件,直接插入代码或复制代码等能力。

2025-02-21 16:18:07 943

原创 本地部署deepseek

deepseek最近火的一塌糊涂,想必大家都关注了,不过因为全球访问量的剧增,经常会导致服务器繁忙,如果想稳定使用的话,就得依靠本地部署,不仅能随时调用,还能保护数据隐私及离线使用,下面就来教教大家怎么本地部署deepseek。

2025-02-21 15:49:40 654

原创 Jenkins内修改allure报告名称

2.通过问题1的排查,于是我加了构建后步骤修改allure报告名的脚步,也就是在Jenkins生成allure报告后再修改allure报告名称的步骤,发现allure报告名称确实修改成功了,但是在Jenkins上打开allure报告还是显示的默认名称,于是又再再再经过一系列排查,发现Jenkins打开的报告其实并不是生成的allure报告目录,而是Jenkins每次构建的成果物里的allure-report.zip压缩包。但是上传代码后,发现在Jenkins上的allure报告并未被修改成功。

2025-01-08 14:11:47 957 4

原创 selenium发展史

Selenium Server :用来控制浏览器行为,它主要包含三个部分:1.Selenium Launcher 用于启动浏览器,把 Selenium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的 Http Proxy。2006年, Selenium Core 团队在之前的基础上,发布了三个新工具:Selenium IDE、Selenium Grid、Selenium RC(RC 是 Remote Control 的简写),这就是第一版 Selenium。

2024-05-15 20:41:10 1218

原创 selenium+opencv自动化登录邮箱并解决滑动验证的问题

大家在进行自动化登录时可能都曾面临过需要手动验证滑块验证码的问题,这次我们将着重解决这个挑战。如下:在我们进行自动化登录时,经常会遇到各种各样的验证码,其中最常见的就是滑块验证码。如果我们的程序在自动输入账号密码后,还需要我们手动去滑动验证码,这样的过程还能称得上是自动化吗?接下来,让我先给大家介绍一下我的解题步骤。需要解决的问题:import cv2#下载图片# 对于图片类型的通过r.content方式访问响应内容,将响应内容写入yanzheng.png中。

2024-05-06 15:50:06 609

原创 Mac下 allure的下载与配置

第一条直接复制过去就好了,第二条将${PATH}:后面的路径改为自己allure的路径。3.编辑完成后按一下esc,然后输入 :wq,就可以保存退出编辑啦。5.再输入命令查看allure版本号,返回版本号则代表配置成功。4.在终端输入命令,生效环境变量。2.配置allure的路径。电脑安装了jdk1.8+2.下载后直接解压就好啦。

2024-04-18 16:32:24 1265

原创 python装饰器高阶用法

装饰器的功能远不止于此,本文介绍的12个常用装饰器只是抛砖引玉,当你理解了装饰器思想和用法后,可以发挥创造力,实现各种自定义装饰器来解决具体问题。它主要用于存储数据的类自动生成诸如__init__, __repr__, __eq__, __lt__,__str__ 等特殊函数。要了解 @wraps 的作用以及为什么需要它,让我们将前面写的logger装饰器应用到一个将两个数字相加的简单函数中。另外,@dataclass还提供了现成的美化方法,可以清晰地表示对象,将其转换为JSON格式,等等。

2024-04-08 21:03:32 858

原创 selenium中webdriver常用的ChromeOptions参数

【代码】selenium中webdriver常用的ChromeOptions参数。

2024-02-27 18:41:49 4288 4

原创 allure报告添加环境信息及执行器信息

原因是因为在我们执行allure generate命令之前,系统自动生成的allure result目录缺少了这两个信息的文件,所以我们可以在运行allure generate命令之前,把这两个文件手动生成并放到allure result目录内,这样再运行allure generate命令生成的html报告里就会展示这两个模块信息。在运行pytest自动化后,在生成allure报告之前,调用这两个方法。

2023-09-27 18:51:38 1323 11

原创 Django基于类视图实现增删改查

Django基于类视图实现增删改查,区别于drf框架

2023-09-25 10:45:33 831

原创 python的反射机制

Python的反射机制指的是在运行时(runtime)动态地获取对象的信息、调用对象的方法、访问对象的属性等能力。反射使得你可以根据需要在运行时操作对象,而不需要在编译时确定对象的类型。这包括对象的内置属性和方法,以及用户自定义的属性和方法。):你可以在自定义类中定义这些特殊方法,以自定义对象的属性和方法访问行为。用于检查对象是否可以调用,例如检查函数、方法或类是否可调用。如果属性或方法不存在,可以提供一个可选的默认值。如果属性或方法不存在,它会创建一个新的属性或方法。属性,它包含对象的属性和方法。

2023-09-15 11:45:38 378

原创 Django框架中使用drf框架开发

删除: /db_case/1 DELETE。查单独:/db_case/1 GET。修改: /db_case/1 PUT。查全部 :/db_case GET。新增: /db_case POST。

2023-09-04 19:05:24 474

原创 Mac下安装Jmeter及其配置

启动JMeter的GUI模式后,默认语言是英文,它也自带了几种语言,我们可以把JMeter切换成中文,从菜单栏中进行切换,方法如下图。设置完成后,关闭JMeter,重新启动GUI模式,会发现,语言又变成英文了。这是因为默认是英语,所以要更改默认为语言为中文,修改配置文件。这个Binaries版本,下载完成后,解压,可以通过Finder(访达)页面双击这个文件解压,也可以通过终端输入。现在,我们已经可以成功启动JMeter了,但是每次都需要打开终端、进入到JMeter的bin目录下,输入。

2023-08-30 15:28:42 1917

原创 mac下配置JDK环境

通过上面方式安装的,只要没有自己更改过安装路径,正常JDK1.8都是安装在/Library/Java/JavaVirtualMachines目录下的,我们可以通过下面两种方式验证下。上一步骤,实标上,我们只是把JDK1.8的文件复制到操作系统上。首先我们得知道JDK目录安装在哪里,按照下面的路径我们可以找到JDK的主目录,如下图所示。如我输入第一条,出现了java 的版本信息,就说明已经安装成功了。,选择适用于Mac OS的JDK版本,点击下载即可。安装过程非常简单,按“继续”按钮一直下一步即可。

2023-08-30 14:58:14 1077

原创 Django传递数据给前端的几种方式

Django的上下文处理器允许在每个模板中自动包含特定的数据。可以在Django的配置文件(settings.py)中定义一个上下文处理器,并将其添加到TEMPLATES的。Django的模板引擎允许在后端代码中将数据传递给前端模板,并在模板中进行渲染。在视图函数中,可以使用。如果需要将数据以JSON格式传递给前端,可以在视图函数中使用。这样前端可以通过AJAX、axios等方式接收JSON数据。这样在每个模板中就可以直接使用该数据。函数来将数据传递给模板并渲染页面。然后在模板中就可以直接使用。

2023-08-01 14:43:43 3480

原创 Python获取命令行参数的方法

二、使用argparse标准库。三、使用sys.argv方法。一、使用click库的。

2023-06-21 21:53:03 1095

原创 gitlab首次拉取代码及后续提交代码

左边是你的代码,右边是Git上的代码,中间是合并后的结果,现在是第14行代码出现了冲突,想保留自己的版本,就点击1处的箭头,保留git上的版本,就点击2处的箭头,当4处的conflict 为0时,代码冲突已经解决完了,就可以点击3处的apply按钮。如下图,1处选择要合并的分支,就是你刚才push代码的分支,2处选择要合并到的分支,一般默认是主分支,选择完成后,点击compare branches and continue。代码拉下来,在写代码之前,先要新建一支分支,步骤如下图所示。

2023-06-13 15:05:45 9597

原创 Pytest获取测试执行结果

背景:有时候需要自定义测试报告或者将测试结果发送到企业微信群聊,这个时候需要对测试结果进行计算统计,但是对拿不到测试结果很苦恼,博主总结了一下两种方式。

2023-06-05 16:13:29 4387 10

原创 Jenkins实现持续集成接口自动化测试

​继上一篇在mac上安装Jenkins后,这一篇就来讲讲怎么讲Jenkins与自动化测试结合起来,实现自动化持续集成

2023-06-02 13:09:13 909

原创 在 macOS 上安装 Jenkins

Jenkins 是一个持续集成自动化控制软件,允许开发人员自动化软件开发过程中重复的部分。1.安装如果已安装 Homebrew,则跳过下一步(通过在终端中运行“brew -v”进行检查)。安装程序会给你一个它会做的事情的清单;只需按回车键,Homebrew 就会被安装。

2023-05-31 17:24:22 7219

原创 selenium中expected_conditions模块常用方法

是Selenium的一个模块,主要用于对页面元素的加载进行判断,包括元素是否存在,可点击等等。的使用场景一版有两种:直接在断言中使用与配合使用,显示等待页面上元素出现或者消失。一般情况下,我们在使用模块时都会对其进行重命名,通过as关键字对其重命名为EC。

2023-05-19 19:05:16 2861

原创 接口自动化框架设计

帮助你快速设计一个接口自动化框架

2023-05-16 14:33:10 1326 1

原创 selenium解决web页面缺口验证码滑动问题

【代码】selenium解决web页面缺口验证码滑动问题。

2023-05-15 17:52:42 419

原创 pytest常用钩子函数

pytest_sessionfinish(session, exitstatus): 在测试套件执行结束后调用(也就是pytest进程结束前,会调用此钩子函数,),可以在此钩子函数中执行清理操作或收集报告等。在 Pytest 中,我们可以使用钩子函数(hook function)来在测试执行完成后执行一些特定的操作,例如生成报告、发送邮件等。pytest_sessionstart(session): 在测试套件开始执行前调用(也就是pytest进程启动后,会调用此钩子函数),可以在此处完成一些初始化操作。

2023-04-20 18:04:17 2054

原创 allure报告本地查看方式

背景:自动化运行之后,想将报告发给别人看,但是别的小伙伴打开后,页面一直显示loading,无法查看,这是因为查看allure报告时需要启动一个静态文件容器。

2023-04-20 17:44:34 3367 3

原创 pytest之@pytest.mark.dependency装饰器设置测试用例之间的依赖关系

1、这是一个pytest第三方插件,主要解决用例之间的依赖关系。

2023-04-18 16:02:38 1993

原创 Allure 测试报告- 动态生成标题、动态生成功能、报告添加用例失败截图

allure.title() 和 @allure.description() 都是装饰器,给测试用例提供标题和描述的,其实 allure 提供了在测试用例执行过程中动态指定标题和描述等标签的方法。1、创建test_allure_title_parametrize4.py文件。1、创建test_allure_title_parametrize5.py文件。test_allure_title_parametrize2.py文件。test_allure_title_parametrize.py文件。

2023-04-17 14:31:43 916 1

原创 mac下tcpdum安装及使用

在 macOS 上,可以通过 Homebrew 安装 tcpdump 工具。

2023-04-13 18:47:37 2360

原创 如何打包上传Python程序或模块包到PyPi供其他人使用pip下载?

背景:由于笔者公司做自动化时,经常需要使用到各种时间相关的数据,每次使用time模块转换很麻烦,笔者就自己封装了一些常用时间转换方法,诶,您猜怎么着,用了之后大家都说好,于是就想着怎么弄成python包供大家一起使用,经过百度之后,发现最简单明了的流程,所以记录下,方便以后再用。

2023-03-30 17:17:44 749

原创 selenium解决web页面智能验证控件点击无效或验证不通过问题

背景:笔者在公司做webUI自动化的时候,在登录页面碰到了一个难题:在输入完账号密码后,需要点击一下智能验证控件。本以为是个很简单的问题,不就是定位控件后click一下就好了嘛,结果实际操作的时候,发现手动打开浏览器,可以正常点击智能控件,并验证成功,但是通过selenium启动浏览器,点击智能验证控件,控件只会闪一下验证成功后就再度恢复成未验证状态了。原理:检测基本原理是检测当前浏览器窗口下window.navigator对象中是否包含webdriver这个属性。

2023-03-21 16:27:48 2569 5

原创 如何搭建接口自动化测试框架?

1、由于现在各个系统的复杂度不断上升,导致传统的测试方法成本上升且测试效率大幅下降,而接口测试相对于UI测试更加稳定,且相对容易实现自动化持续集成,可以减少人工回归测试的时间成本,缩短测试周期。代码中应该不出现具体的数据、配置。个人建议:如果是学习阶段,选择基于代码的模式,通过自己一步一步的规划项目、编写代码,可以更好的理解接口自动化的实现原理,之后再学习一些工具会更得心应手。5.越来越多的团队开始接收DevOps所倡导的高度协同,研发、测试、运维及交付一体化的思维,对测试效能提出了更高的要求。

2022-12-14 09:59:19 291

原创 Mac下配置Pycharm教程

接着选择创建一个Python项目,右边第一栏是选择项目的存放地址,第二栏是选择解释器,可以看到这里有两个Python版本,一个Python 2.7,一个是3.6,这取决你自己电脑里安装了几个Python。Pycharm分为专业版(Professional)和社区版(Community),专业版功能非常全,需要购买,可以试用,对比之下社区版功能有限,可以免费使用,并且开源。下载完成之后,双击打开,拖动到mac的应用列表中,和安装mac版其它软件是一样的操作。在左边文件区域,选择要执行的文件,右键run。

2022-12-14 09:59:16 4137

原创 接口测试简介及用例设计

http的信息是明⽂传输,https则是具有安全性的ssl加密 http是直接与TCP进⾏数据传输,⽽https是经过一层SSL,用的端⼝也不不⼀样,http是80,https是443。✓ 浏览器检查证书是不不是由可以信赖的机构颁发的,检查证书的数字签名是不是正确,确认证书有效和此证书是此属于指定⽹站的。✓ 服务器用自⼰的私匙解密浏览器器发送过来的对称钥匙,然后⽤用这把对称加密的钥匙解密加密过的 http协议请求内容。由请求头和响应以及相应的信息头组成,http传输中,我们都是通过url来录找网络资源的。

2022-12-14 09:59:08 253

原创 selenium元素定位方式及常用操作

失败,ElementNotInteractableException: element not interactable 无法交互。input 标签元素太多,无法定位。如何防止用户使用自动化脚本控制邮箱登录?

2022-12-14 09:58:56 8001 4

原创 Pytest和Allure测试框架-超详细版+实战

https://blog.youkuaiyun.com/qq_42610167/article/details/101204066

2022-12-14 09:58:12 284

原创 Pytest 使用简介及常用方法

最近在听极客时间的课程,里面的讲师极力推崇 pytest 框架,鄙视 unittest 框架,哈哈!然后查了些资料,发现了一条 python 鄙视链:pytest 鄙视 > unittest 鄙视 > robotframework。pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持315种以上的插件,同时兼容 unittest 框架。这就使得我们在 unittest 框架迁移到 pytest 框架的时候不需要重写代码。

2022-12-14 09:57:48 2226

iOS商店审核二进制文件无效修复程序

iOS商店审核二进制文件无效修复程序

2025-09-08

selenuim相关操作统计

selenuim相关操作统计

2023-03-30

空空如也

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

TA关注的人

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