自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 知识分享导航

##一堆草稿 因为没有找到怎么建立合集的办法 后续会直接在这些标题上插上link,争取四月前写完!(●ˇ∀ˇ●)持续更新中, 是自己的知识小宝库 也分享给大家一起看看一起进步。Jenkins+Newman+Postman实现接口自动化集成。python+unittest框架实现UI自动化。Jenkins+python实现UI自动化集成。python+request框架实现接口自动化。python+pytest框架实现UI自动化。dockerfile语法。python的安装与使用。docker基本语法。

2025-03-20 16:10:20 217

原创 python UI自动化使用send_keys() + paramiko 上传文件

连接到 Linux 服务器,下载文件:使用paramiko连接到服务器并下载文件到本地。用selenium上传文件到目标平台:通过浏览器自动化工具将文件上传。

2025-06-10 14:38:39 231

原创 python UI自动化使用send_keys() + request上传文件

用requests库下载升级包:从指定的网站下载文件到临时目录。用selenium上传文件到目标平台:模拟用户在平台上执行文件上传和点击确认操作。

2025-06-10 14:35:20 409

原创 python UI自动化使用send_keys()上传文件

在 Python 中进行 UI 自动化测试时,上传文件的最常用方法是使用 Selenium 库。Selenium中的send_keys()方法不仅可以输入文字也可以用来进行文件的上传。

2025-06-10 14:23:29 231

原创 如何禁止chrome自动更新

百度了一下 下面这个方法实测有效。

2025-05-12 17:20:54 782

原创 不同环境下运行脚本如何解决pythonpath问题

在Windows环境下开发的Python脚本在Docker(Linux环境)中执行时,遇到了ModuleNotFoundError: No module named 'Modules'的错误。经过验证,项目文件已完全复制到Docker中,问题出在Python路径解析上。针对此问题,提出了两种解决方案:方法一是在Dockerfile中设置PYTHONPATH环境变量,指向项目根目录;方法二是在本地脚本中动态设置sys.path,将项目根目录插入到sys.path的开头,确保Python在导入模块时优先搜索项目

2025-05-10 18:25:35 355

原创 解决 Chrome 与 Chromedriver 版本不一致问题的方法

在 Python 自动化测试中使用 Selenium 时,Chrome 浏览器和 Chromedriver 版本不一致是常见问题。

2025-05-07 17:36:15 1472

原创 ChromeDriverManager的具体用法

目录步骤1.安装 webdriver_manager 库:2.导入相关依赖3.设置options参数(optional)4.用chromedrivermanager安装驱动 5.初始化并执行测试基本用法示例注意:拓展(可自行了解 是 库的一部分,它用于自动管理 ChromeDriver 的下载和更新。使用 可以避免手动下载 ChromeDriver 并自动匹配并安装系统中安装的 Chrome 浏览器版本。有兴趣的也可以自行去github上看看官方文档https://github.com/SergeyPi

2025-05-07 17:35:36 976

原创 如何激活python的虚拟环境

为什么写这篇文章:我在检查依赖版本的时候发现在terminal一直显示找不到该依赖 但是在interpreter里面能看到所有我以及下载的依赖和版本;然后稍微看了下发现是自己忘记激活虚拟环境了,所以来顺便记录下,希望大家不要和我一样犯这个笨蛋错误okay 言归正传在Windows系统中,激活Python虚拟环境需要使用命令提示符(Command Prompt)或PowerShell并运行虚拟环境目录下的激活脚本。

2025-05-07 15:46:47 478

原创 python创建Directory和python package的区别

os.makedirs("parent/child") # 递归创建多级目录。(Python 3.3+的命名空间包可以省略,但通常仍建议保留)。├── __init__.py # 必须存在(可以是空文件)os.mkdir("my_folder") # 创建单个目录。:单纯在文件系统中创建一个文件夹(目录),用于组织文件。├── __init__.py # 变成Python包。└── module.py # 可以被导入。├── module1.py # 模块。(如数据、文档),用。

2025-05-01 16:14:56 885

原创 如何减低自动化脚本的维护成本

显式等待 + 自动重试失败用例(如pytest的`pytest-rerunfailures`插件)。- **少即是多**:维护10个高价值脚本比100个低效脚本更划算。- **自动化维护本身**:用工具监控和修复脚本,减少人工干预。- **预防优于修复**:通过良好设计减少后期改动。1. 自愈机制(Self-healing)2. 配置文件管理元素定位。1. 分层架构(POM模式)1. 稳定的元素定位策略。2. 数据驱动测试(DDT)2. 版本控制与Diff工具。1. 与开发约定规则。2. 文档与知识共享。

2025-04-17 17:44:16 640

原创 allure结合pytest生成测试报告

结合pytest和Allure可以生成详细而美观的测试报告,帮助测试人员和开发者更好地理解测试结果。这包括测试的执行情况、步骤、附件(如截图)、分类以及优先级标记。下面是如何在pytest中使用Allure。

2025-03-24 17:56:56 721

原创 4、pytest常用插件

变得非常灵活和强大,能够更好地适应不同类型的测试需求。各插件的安装和配置都非常简单,可以帮助你快速集成到现有的。选择使用合适的插件可以显著提升测试的能力和效率。通过组合不同的插件,是一个功能非常强大的测试框架,支持丰富的插件系统。的功能,从而使测试过程更加高效和便捷。

2025-03-24 17:52:49 377

原创 3、pytest实现参数化

在pytest中,参数化(parametrization)是一种强大的功能,可以让你用不同的输入数据重复执行同一个测试函数。这种功能非常有用,可以帮助你显著减少重复代码并提高测试覆盖率。

2025-03-24 17:50:21 543

原创 pytest测试框架所需文件以及各自位置

通过整洁的项目结构和标准命名惯例,你能够更方便地运用pytest来自动发现和运行测试,同时这些结构有助于项目的长期维护和对新成员的理解。共享的夹具和钩子配置,以及明确的测试文件位置和作用分配,将赋予测试代码更好的扩展性和可读性。

2025-03-24 17:46:42 332

原创 2、pytest核心功能(进阶用法)

自定义标记得用途是筛选用例,只执行部分用例,共分为三个步骤在pytest.init注册标记[pytest]addopts = -vs # addopts 用于指定默认的命令行选项markers =login: 登录相关db: 数据库相关upload: 上传相关在用例中通过装饰器添加标记print('使用数据库')在命令行参数中加-m使用标记[pytest]# -v(verbose 模式)用于显示详细的测试执行信息(包括每个测试用例的名称和状态)

2025-03-24 17:31:02 948

原创 1、pytest基本用法

最近在学习pytest的用法 并且用这套框架替换了原来的unittest, 同是测试框架 确实感觉到pytest更加便捷 这边分享给大家我得学习心得。

2025-03-24 16:32:21 398

原创 python中有几种作用域

在 Python 中,作用域决定了变量的可见性和生命周期。Python 主要有以下四种作用域: - 在函数或方法内部定义的变量属于局部作用域。 - 这些变量只能在函数或方法内部访问。 2. 嵌套作用域(Enclosing Scope): - 在嵌套函数中,外层函数的变量对内层函数可见。 - 内层函数可以访问外层函数的变量,但不能直接修改(除非使用 `nonlocal` 关键字)。 3. 全局作用域(Global Scope): - 在模块级别定义的变量属于全局

2025-03-16 21:33:37 316

原创 Pycharm修改默认执行框架为unittest

作为新的测试框架进行测试运行。如果还没有看到相关选项,请确保已经安装并配置 Python SDK。如果在特定项目中没有应用更改,您还可以检查项目级别的配置,以确保设置正确应用于项目中。在 PyCharm 中修改默认的测试框架为。这样设置后,PyCharm 应该会默认使用。

2025-03-10 14:47:07 429

原创 Bruno运行登录接口遇到报错canot found module ‘htmlparser2’怎么解决

避免使用无法加载的 Node.js 模块:在 Bruno 中的脚本可能无法使用普通的 Node.js 模块,因此可以依靠原生浏览器 API 来操作 DOM。确保节点查找逻辑正确无误:使用和来定位和操作 HTML 元素。处理和管理变量:充分利用bru.setVar进行变量设置、测试和调试。可以使用上文中的建议来修改和运行代码。调整后的代码不仅仅解决了模块加载的问题,还与浏览器环境下的原生功能保持一致。

2025-03-04 17:45:26 481

原创 python-数据处理

python处理两张表 表一包含列名类型、数据片段、事件详情等列,表二包含标准值、数据片段等列(没有事件详情列) 首先筛选表一类型=责任碰撞并且根据数据片段去匹配表二 如果匹配到了 将表一中对应的事件详情数据新增到表二中,然后对表二中的事件详情和标准值列进行比对 比对方法为 事件详情中的时间戳(该时间戳被包含在事件详情的值中,在"碰撞发生时间:" 的后面)和标准值列比对 若事件详情的值大于标准值列中的值 将对应的标准列的值改为fail。1. **筛选表一**:筛选出表一中类型为“责任碰撞”的数据。

2025-03-03 16:11:10 201

原创 Python -实例属性的定义与运用

class Car:self.color = color # 实例属性self.model = model # 实例属性# 创建类的实例print(my_car.color) # 输出: Redprint(my_car.model) # 输出: Toyotaclass Car:wheels = 4 # 类属性# 访问类属性print(Car.wheels) # 输出: 4# 所有实例共享类属性print(car1.wheels) # 输出: 4。

2025-02-28 16:57:40 277

原创 Jenkins自动化脚本执行结果为unstable的常见原因

我目前在工作中遇到的第一种情况较多 通过看日志发现报错集中的地方就是我写的case部分执行失败了 大家在debug过程中结合日志查相关的日志文件、测试报告和警告,来查明具体的问题所在,并进行必要的修复或改进。在Jenkins中,如果构建结果被标记为“unstable”(不稳定),通常意味着构建过程中遇到了一些问题,但这些问题并不严重到足以导致构建失败。:通过代码静态分析工具(例如 SonarQube、FindBugs 等)检测到代码质量问题,如代码臭味、潜在的错误或风格问题,但这些问题不足以导致构建失败。

2025-02-27 14:31:32 521

原创 如何生成Junit报告

我想提一嘴儿的是之前也用过allure和unittestreport这种html类型的文件集成到Jenkins上去用 但是效果不尽人意 前者由于Jenkins上的安全问题无法加载allurereport 后者由于css的原因 Jenkins上展示的结果和本地的不一致于是请教了团队里面的负责集成的老师 他告诉我没必要在这个上面花太多精力。因为最终这套测试用起来的话,它是多个项目里某个项目里的某种测试集。在Jenkins上会有各种不同的测试,而且还需要进一步的处理由另一个团队去收集数据做统计。

2025-02-20 17:46:53 1179

原创 如何在Jenkins上查看Junit报告

在构建记录的页面上,如果构建过程中生成了 JUnit 测试报告,通常会有一个 "Test Result" 或者 "Test Report" 的链接。: 在测试结果页面,你可以查看所有测试的概要,包括通过的测试、失败的测试和跳过的测试。例如,如果你想查看最近的一次构建的结果,点击 "Last Successful Build" 或者 "Last Build" 标签。: 一些 Jenkins 设置还支持查看测试结果的历史趋势,从而可以观察项目随时间的变化情况,例如测试覆盖率的提升或下降。

2025-02-20 17:29:54 561

原创 Jenkins上无法查看已成功生成的Junit报告

如果你已确认 JUnit 报告在工作空间中被成功生成,但在 Jenkins 构建页面上却看不到 "Test Result" 或 "Test Report" 的链接,这通常意味着 Jenkins 没有正确地配置用来处理和显示这些报告的步骤。

2025-02-20 17:26:48 580

原创 如何禁止chrome浏览器自动更新

我真的是受够了chromedriver和chrome不兼容的问题 每次调试 我看到浏览器启动之后秒退出我就知道chrome又自动更新了 (翻白眼所以 我要禁止它自动更新!一劳永逸。

2025-02-19 17:00:46 619

原创 Jenkins安装依赖遇到musl兼容问题怎么解决

是一种轻量级的标准 C 库实现,被设计用于嵌入式系统和资源受限的环境中。它主要应用于 Linux 系统,特别是在轻量级 Linux 发行版中,例如 Alpine Linux。仓库的依赖可以帮助提高系统稳定性,特别是在生产环境中。不确定的情况下,最好先在测试环境中作充分验证,调整配置后,再投入至生产环境。在许多现代微服务架构、容器化应用中使用时效性高,这得益于其高效性和其所带来系统基础资源的节约。时已经更新到兼容的最新版本,或者手动回滚到兼容的版本组合。仓库中某些包版本之间不互相兼容导致的。

2025-02-18 15:51:03 1044

原创 Jenkins遇到ERROR: unable to select packages:怎么处理

通过实施这些措施可以确保在一个相对更稳定的环境下管理包依赖,降低因为版本不兼容引发的问题。这种策略对于生产环境特别重要,因为它们需要稳定性和可预测性。使用的 repositories 清空,然后添加需要的稳定版本仓库地址。的包仓库为稳定版本而不是。: 在脚本中,通过设置。

2025-02-17 17:47:52 678 1

原创 Piper命令了解

最近弄测试集成 Jenkins上只支持piper命令 和大家一起分享些知识学习下。"Piper" 通常指的是 SAP 的 Project "Piper" 项目,其目的是为持续集成和持续交付(CI/CD)提供一套工具和最佳实践。虽然 Project "Piper" 本身更多是一个框架和一套 Jenkins Pipeline 库,但当提到 Piper 的命令时,通常指的是基于它所建立的工具和脚本。

2025-02-13 15:32:39 701

原创 python处理表格数据 怎么将最后一行数据放到第二行

要在 Python 中处理表格数据并将最后一行移动到第二行,可以使用 Pandas 库。以下是一个详细的步骤和示例代码,帮助你实现这个功能。

2025-02-13 11:09:26 265

原创 Dockfile语法

Dockerfile 是构建 Docker 镜像的核心工具,它为开发人员提供了一种简单而强大的方式来描述容器化应用的构建和运行环境,提高了应用的部署和运维效率。通过借助 Dockerfile,团队可以更好地控制环境一致性,实现高效的敏捷开发和运维。

2025-02-12 16:18:17 1317

原创 Jenkinsfile怎么写

学习和运用 Jenkinsfile 是熟练使用 Jenkins 进行持续集成和持续交付(CI/CD)流程的关键一步。

2025-02-12 16:02:01 1089

原创 PermissionError: [Errno 13] Permission denied: ‘testfinal_merged_table.xlsx‘ 怎么处理

通常表示在尝试保存一个文件时,Python没有权限这么做。这种错误可能由几种情况引起。

2025-02-11 11:29:23 191

原创 Jenkins pipline怎么设置定时跑脚本

在Jenkins中,定时跑脚本(例如定时执行Pipeline)的主要方法是通过配置Jenkins Pipeline的定时触发器。你可以使用Cron表达式来定义定时任务的触发时间。这里介绍两种基于cron表达式的方法供大家参考 我一般是用方法一 方法二大家可以当作了解 但是原理都是一样的首先先了解下cron表达式语法。

2025-01-23 17:47:32 1126 1

原创 Jenkins上生成的allure report打不开怎么处理

我自己用的是方法一里面的清空属性值解决的 比较省事儿 不过要注意清空这些属性可以临时解决某些兼容性问题或进行特定的调试工作,但需要注意的是,这会显著降低Jenkins的安全防护能力。看到这篇文章的同学自己可以酌情选择适合自己的方法去解决该问题。

2025-01-23 15:56:42 1353

原创 python处理两张excel表格 取表1的A列数据和表2的A列数据进行匹配 若匹配到,将表1中BCD列的值新增到表2中(表2中没有BCD列新增到表2的用例编号列之后 要注意的是新增到表二中的值需要与

为了处理两张 Excel 表格,并按照你的要求来匹配和新增数据,我们可以使用pandas库。以下是一个详细的 Python 脚本示例,假设你的两个 Excel 文件分别叫做file1.xlsx和file2.xlsx。

2025-01-13 16:01:41 404

原创 python怎么处理表格的去重

根据 A 列去重,保留最后一次出现的行。

2025-01-13 16:00:02 394

原创 python处理两张excel表格 取表1的A列数据和表2的A列数据进行匹配 若匹配到,将表1中BCD列的值放到表2中(表2已有BCD列 要注意的是被挪到表二中的值需要与被匹配到的A列中的值对应即在同

为了实现您的需求,即在Python中处理两张Excel表格,根据A列匹配的结果来更新表2中的BCD列,我们可以使用pandas库。

2025-01-10 15:20:35 426

原创 报错 pandas.errors.inavlidaindexerror: Reindexing only valid with uniquely valued index objects

你收到的错误,通常发生在尝试对包含重复索引的数据框进行重索引操作时。在你的具体场景中,很可能是由于尝试对DataFrame进行concat或者merge操作时,出现了重复的索引。我们可以通过确保索引列的唯一性来避免这个问题。

2025-01-09 17:31:38 600

空空如也

空空如也

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

TA关注的人

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