- 博客(198)
- 收藏
- 关注
原创 python AI自动化:为啥死磕Midscene.js的yaml执行方法?
自从在公司内部搭建好Midscene.js的AI自动化测试环境后,我们的WEB自动化已经大部分开始定定时让AI自动执行用例了,真实太惊艳了,完全超乎想象。测试人员工作量简单到只有2步:1)测试人员不写代码,不定位元素,只需要写符合Midscene.js框架的测试步骤(手工测试怎么做,自动化测试就怎么写)。2)测试人员在自动化平台上输入上述测试步骤,平台会自动调用封装好的http执行接口,将测试步骤json数据转为yaml文件,然后执行用例,测试人员只需要等待检查html测试报告。
2026-06-14 21:31:28
213
原创 Python中schedule库:轻松实现任务定时自动化
Python的schedule库是一个简单高效的定时任务调度工具,支持秒、分、时、天、周等多种时间单位,能实现精准的任务调度。文章详细介绍了schedule的核心功能:1)基础调度设置方法every()和时间单位函数;2)精确时间点控制at();3)任务执行do()和运行检查run_pending();4)任务管理clear()和cancel_job()。通过邮件提醒和数据库备份两个实际案例,展示了schedule库的应用场景。最后提供了多线程运行和时区设置等常见问题的解决方案,帮助开发者避免使用中的常见陷
2026-04-21 22:01:33
995
1
原创 使用python+Midscene.js AI驱动打造企业级WEB自动化解决方案
摘要:本文介绍了基于AI的Midscene.js工具在企业级WEB自动化测试中的应用方案。该工具通过自然语言交互实现测试,避免了传统Selenium工具需要元素定位、编码复杂等痛点。针对工具存在的高成本问题,提出了将Midscene.js封装为HTTP通用API的解决方案,支持Python/Java等多种语言调用。详细说明了环境搭建步骤、YAML用例编写方法,以及通过Flask实现HTTP接口封装的技术方案,包括用例执行接口和报告获取接口的设计。该方案已在内部项目成功落地,为AI驱动的自动化测试提供了实践参
2026-04-21 21:56:29
724
原创 使用Python程序自动发送邮件
本文介绍了使用Python自动发送邮件的完整流程。首先需要登录邮箱开启SMTP/POP3服务并获取授权码,记录不同邮箱的服务地址和端口。核心使用smtplib和email两个库,通过SMTP()建立连接,MIMEText()构建文本/HTML邮件,MIMEMultipart()支持附件发送。详细说明了邮件头设置、发送函数及三种实用案例:纯文本邮件、HTML格式邮件和带附件邮件。最后介绍了常用的policy策略选项,帮助开发者根据需求选择适合的邮件处理方式。这套方法可实现自动化邮件发送功能,适用于各种应用场景
2026-04-11 08:59:10
785
原创 python的itertools模块:处理各类迭代对象真不费劲
Python的itertools模块提供了高效处理迭代对象的工具,包括三大类功能:1)无限迭代器(count/cycle/repeat)可生成无穷序列;2)组合工具(chain/groupby/zip_longest)用于合并、分组和对齐迭代器;3)排列组合工具(permutations/combinations/product)生成序列变体。此外还包含筛选工具(filterfalse/islice/takewhile)进行迭代器过滤和切片。该模块能显著提升代码简洁性和执行效率,特别适合处理大数据量、复杂迭
2026-04-11 08:55:42
422
原创 Python中subprocess模块:轻松调用外部程序与命令
subprocess.run()是subprocess模块中最常用的函数,用于执行指定的命令,并等待命令执行完毕。它接受args参数(命令及其参数),以及input等可选参数,返回一个CompletedProcess对象,包含命令执行结果信息。覆盖或添加子进程的环境变量。(有些命令执行时需要获取环境变量信息,否则执行shell命令可能会报错)import os# 自定义环境变量print(p.stdout.read().decode()) # 输出: custom_value。
2026-04-08 16:00:00
591
原创 使用Python玩转ftplib库:实现ftp文件传输自动化全攻略
本文介绍了Python标准库ftplib实现FTP文件传输自动化的方法。主要内容包括:1)核心函数速查表,涵盖连接登录、目录操作、文件上传下载、文件管理等基本功能;2)实战案例演示自动备份数据和定时下载日志文件的具体实现。文章详细讲解了加密传输、大文件传输优化、文本文件换行符处理等常见问题的解决方案,并提供了异常处理和定时任务等实用技巧,帮助开发者快速实现FTP自动化操作。
2026-04-07 11:30:00
519
原创 Python中gzip功能深度解析:高效压缩与解压缩实战
Python内置的gzip模块提供了高效的数据压缩/解压缩功能。文章介绍了gzip.open()函数创建和读取压缩文件的方法,支持文本('wt/rt')和二进制('wb/rb')模式;演示了gzip.compress()/decompress()对字节数据的处理;并展示了如何获取压缩文件元数据(文件名、修改时间)。这些功能可有效减小文件体积,优化存储和传输效率,适用于日志处理等场景。通过示例代码详细说明了各函数的使用方法,帮助开发者快速掌握这一实用工具。
2026-04-07 08:00:00
233
原创 Python中itertools.product:快速生成笛卡尔积
itertools.product是Python标准库itertools中的一个高阶函数,用于生成输入可迭代对象的。简单来说,它会返回所有可能的组合,就像数学中的笛卡尔积运算一样。
2026-04-05 18:20:29
292
原创 python:使用pyzipper创建加密zip包
pyzipper是Python中用于创建、读取、写入和修改ZIP文件的库,它兼容Python2和Python3,并且支持AES加密,能够满足各种复杂的压缩文件处理需求。安装pyzipper非常简单Python的ZipFile功能全解析,支持一键压缩和解压.zip文件。
2026-04-02 11:30:00
250
原创 Python的tarfile模块解压缩.tar/.tar.gz等文件
因为tarfile是标准库,我们直接import tarfile即可使用。tarfile模块的核心是TarFile类,通过它可以完成创建、读取、修改 tar 文件的操作。但在实际使用中我们经常使用tarfile.open函数,open函数其实调用的是tarfile.TarFile.open类函数,源代码如下:open类函数比TarFile类本身支持更多的mode。功能场景核心函数 / 方法关键参数 / 注意事项创建 tar 文件选择合适的压缩模式(如'w:gz')添加文件 / 目录。
2026-04-01 12:00:00
448
原创 Python的ZipFile功能全解析,支持一键压缩和解压
python自带的zipfile模块可以满足最基本的压缩功能,但也少了一些比如添加压缩密码,压缩目录的功能,如果想使用这些,我们后面再结合其他模块介绍。
2026-03-31 11:30:00
754
原创 Python打印日志不能只会print,快来熟悉pprint
pprint模块提供了多个函数和类,支持所有可序列化的 Python 数据类型(列表、字典、元组、集合等),但不支持自定义类实例(需手动实现__repr__方法)。# 创建自定义打印机:缩进4空格,宽度60pprint是Python 开发者的 “数据美颜相机”,可以清晰呈现复杂结构灵活的参数控制。主要适用场景✅ 调试时打印字典、列表等复杂数据✅ 生成易读的文档或报告✅ 日志中记录结构化信息。
2026-03-30 11:00:00
283
原创 Python 中 toolz 库深度解析:数据处理与函数式编程的利器
merge函数用于合并多个字典,遇到相同的key,则会以传参后面的字典为准;遇到不同的key,则会合并。输出为 {'a': 1, 'b': {'y': 3}, 'c': 4},并不会输出{'a': 1, 'b': {'x': 2, 'y': 3}, 'c': 4}2. toolz.dicttoolz.merge_with(func, *dicts, **kwargs)函数:自定义字典的合并规则merge_with是toolz中处理字典合并的高级函数,我们可以自定义冲突解决策略。
2026-03-30 09:00:00
475
原创 豆包Midscene.js,摒弃传统元素定位,通过自然语言实现web测试自动化(谷歌插件使用指南)
安装配置篇,请直接参考之前的文章:Midscene.js - AI驱动,带来全新UI自动化体验(安装配置篇)官网介绍很详细:https://midscenejs.com/zh/introduction,有需要了解更多的直接参考官网介绍安装配置后,我们通过谷歌浏览的插件快速体验Midscene.js的功能。
2026-03-25 22:01:35
1142
原创 豆包Midscene.js,摒弃传统元素定位,通过自然语言实现web自动化:全新UI自动化体验(安装配置篇)
Midscene.js 是字节跳动开源的 AI 操作助手,适用于Web、移动端的自动化测试。它是基于多模态大语言模型,能让测试人员使用自然语言控制页面、执行断言以及提取 JSON 格式的数据。相比传统的UI自动化测试工具Selinium等采用元素定位方式,而且跟系统有较强的耦合性,而Midscene.js通过自然语言交互,极大降低了自动化测试门槛,非专业编程人员也能轻松开展 UI 自动化测试工作。性质:开源、跨平台的 JavaScript 运行环境。
2026-03-25 21:58:27
1366
原创 推荐几个常用的校验yaml、json、xml、md等多种文件格式的在线网站
推荐几个常用的校验yaml、json、xml、md等多种文件格式的在线网站。
2026-01-09 21:21:05
735
原创 Python的Pickle序列化与反序列化
创建实例# 保存实例到文件# 读取实例# 输出: Bob 25通过在类中定义特殊方法,可以自定义对象的序列化逻辑,实现更灵活的控制。通过继承Unpickler类,可以拦截并修改反序列化过程:。
2025-10-19 09:53:43
1094
原创 Python错误追踪神器:Traceback 功能全解析
try:logging.error(f"程序崩溃: {error_msg}")print("错误已记录到 error.log")精准定位错误:通过调用链快速找到问题源头。自定义错误处理:灵活记录和展示错误信息。优化调试体验:结合第三方工具,让错误信息更友好。错误不可怕,不会解读 Traceback 才可怕!下次遇到Bug,先别急着抓头发,冷静分析Traceback,问题往往迎刃而解。
2025-10-19 08:37:12
1585
原创 一文搞懂 Python中的GIL全局解释器锁
摘要:本文深入解析Python中的GIL全局解释器锁机制。GIL是CPython解释器的核心机制,确保同一时间只有一个线程执行字节码,影响多线程性能表现。文章通过CPU密集型和I/O密集型任务的对比案例,展示GIL对多线程执行效率的影响:前者无明显加速,后者因I/O操作释放GIL可获得性能提升。同时提供避坑指南:CPU密集型任务建议使用多进程,I/O密集型任务适合多线程,并提醒Windows系统下需注意进程创建的特殊处理。
2025-10-11 21:20:57
1045
原创 Python多进程
Python多进程编程是突破GIL限制、实现多核并发的有效方式。本文详细介绍了Python多进程应用场景、核心函数和实用案例。主要内容包括:1)多进程与多线程的对比,突出多进程在CPU密集型任务中的优势;2)multiprocessing模块的核心函数解析,包括Process()、Pool()、Queue()和Manager()的使用方法;3)实际应用案例展示,如并行计算、批量下载图片等;4)常见问题避坑指南,强调进程池管理、数据共享等注意事项。通过合理使用多进程技术,可显著提升Python程序的执行效率,
2025-10-11 16:10:36
1308
原创 Python多线程:让程序 “多线作战” 的秘密武器
Python多线程是提升程序效率的有力工具,尤其在I/O密集型任务中优势显著。通过掌握threading模块的核心函数,灵活运用多线程技术,让程序实现 “多线作战”。但也要牢记多线程的局限性,不是线程越多越好,同时避免死锁,线程安全问题,最后选择合适的并发方案,才能发挥出 Python的最大潜力!
2025-09-25 19:00:00
900
原创 python的垃圾回收机制:内存管理的幕后英雄
Python的垃圾回收机制是保障程序稳定运行、高效利用内存的重要组成部分。从基础的引用计数到复杂的标记-清除、分代回收,再到相关函数的使用,每一个环节都有其独特的作用。避开常见的 “坑”,合理利用垃圾回收机制,能让你的Python 代码在内存管理上更加得心应手!
2025-09-23 19:00:00
828
原创 Python一键打包为windows的exe文件,无需安装python环境即可执行
pyton程序版本需要Python <3.14, >=3.8。安装[options]为打包选项,script.py为打包的Python脚本。-F:打包成单个可执行文件(推荐使用,方便文件分发)。-w:窗口化模式,隐藏命令行窗口(适用于图形界面程序)。-i:指定程序图标(格式如.ico)。案例# 打包成单个可执行文件# 打包图形界面程序,隐藏命令行窗口并指定图标当然还有其他一些参数,参见附录中的介绍。
2025-09-22 19:00:00
1464
原创 Python中PyWebIO:无须搞懂前端知识,也能5分钟快速搭建Web应用
PyWebIO是基于Python 的交互式Web应用开发库,通过简单的函数调用实现用户交互。。官网介绍:https://pywebio.readthedocs.io/zh-cn/v1.5.2/index.html。
2025-07-08 08:00:00
1456
原创 无需安装python程序,推荐6个靠谱网站在线学习编写python代码
创建页面,输出项目名称,或者选择一些默认的项目模版,比如上面列出的pandas数据分析,Djnago web编程,Pygame游戏编程,matplotlib和Turtle绘图编程,或者选择空项目。进入网站后,选择python,然后编写代码并点击运行按钮。
2025-06-24 20:40:54
9440
原创 Python中class对象/属性/方法/封装/继承/多态/魔法方法详解
本章我们学习并掌握了从基础的类和对象创建,到属性、方法的深入运用,再到继承、多态和魔法方法的高级特性,在后续实践中我们要避开常见的 “坑点”,多实践不同案例,在Python编程的世界里搭建出属于自己的精彩程序。
2025-06-24 20:38:22
1161
原创 Python中的HTTP访问利器
掌握Python的HTTP访问技能,无论是获取网页内容、调用API数据,还是与服务器交互,requests、urllib、aiohttp、httpx等库都能助你轻松完成。
2025-06-16 17:45:00
1829
原创 Python解析ini文件的利器:configparser模块
支持同时读取多个 ini 文件,如config.read(['config1.ini', 'config2.ini']),后面文件的配置会覆盖前面文件相同的配置项。:config.get(section, key),config.getint(section, key)、config.getfloat(section, key)、config.getboolean(section, key),分别得到原始值,整型,浮点型和布尔型的值。修改ini文件同样简单,先读取,再修改,最后保存。
2025-06-16 08:45:00
804
原创 Python格式化:让数据输出更优雅
从基础的字符串拼接,到复杂的数字、日期处理,再到个性化场景应用,掌握这些格式化技巧能让你的程序输出更专业、更美观。下次遇到数据展示问题,不妨试试!
2025-06-10 21:26:38
890
原创 Python 字符串、字节串与编解码:数据转换的奥秘
大家都知道计算机是二进制的世界,计算机系统只能识别数字0和1组成的一串串的数字。1位数字代表1个比特(bit),每8个比特代表1个字节(byte),那么1个字节如果都为数字1,如11111111,代表的最大数字是255。如果是2 个字节最大可以表示为 65535,4 个字节最大表示为4294967295。每一种不同的数字0和1的组合,就可以代表一个字符。基于上述原理出现了各种编码格式:1.ASCII 编码。
2025-06-10 21:21:35
1298
原创 Python的logging功能:程序身边的日志管家
掌握logging,就像给程序安上了 “记录仪” 和 “指南针”!无论是调试Bug、监控运行状态,还是复盘历史操作,它都能轻松搞定。从现在开始,抛弃混乱的print,用logging让代码更专业、更健壮!
2025-06-06 07:30:00
973
1
原创 Python的lru_cache:提升函数性能的神奇魔法
lru_cache(Least Recently Used cache,最少使用缓存)是functools模块中的一个装饰器。简单来说,它会记住函数之前的计算结果。当函数再次被调用时,如果传入的参数和之前某次调用一样,它就直接返回之前缓存的结果,而不用重新计算,大大节省了时间。
2025-06-05 19:15:00
1682
原创 Python的input函数轻松实现猜数字,做数学题等小游戏,有意思!
(挠头)我写Python程序时,如何读取键盘输入的内容呢?:(微笑)这就要用到input功能了,它能轻松实现人机交互,接下来我给你详细讲讲!
2025-06-04 17:30:00
1713
原创 Python的shutil模块:文件处理的得力助手
shutil.copytree函数可以接受一个ignore参数,用于指定过滤规则,只复制符合条件的文件和目录。#自定义过滤函数#传入ignore参数#也可以使用shutil自带的过滤函数,忽略的文件后缀可以填多个#并且参数dirs_exist_ok=True 表示允许继续执行,而不是抛出FileExistsError异常。这个参数在 Python 3.8 版本中添加。在选择性备份代码文件、筛选特定类型文件进行处理等场景中,这种自定义过滤功能非常有用。
2025-06-03 17:30:00
1822
原创 Python的collections模块:数据结构的百宝箱
Counter用于统计可迭代对象中元素出现的频次。#统计次数#输出为:#使用update函数添加另一个可迭代对象,继续统计次数#输出为UserDict是创建自定义字典类的基类。raise NotImplementedError("删除操作不被允许")# 尝试删除键会引发错误继承UserDict并覆盖方法,可定制符合需求的字典类。类似UserDict,UserList用于创建自定义列表类。raise ValueError("只能添加整数")# 尝试添加非整数会引发错误。
2025-05-20 22:15:23
1373
原创 Python的sys模块:系统交互的关键纽带
(挠头)我知道 Python 能做很多事,可怎么让它和计算机系统‘交流’呢,比如获取系统信息、处理命令行参数?:(微笑)这就得靠sys模块啦!它就像一座桥梁,连接着你的 Python 程序和底层操作系统,功能超强大,接下来为你详细介绍!
2025-05-20 22:11:57
888
原创 Python的re模块:正则表达式处理的魔法棒
(发愁)我想从一大段文本里找出所有邮箱地址,手动找太费劲了,有没有简便方法?:(挥舞魔法棒)re正则表达式作为高级的文本模式匹配、抽取、和搜索。简单地说,正则表达式(简称为 regex)是一些由字符和特殊符号组成的字符串,按照设定的匹配逻辑能够匹配一系列有相似特征的字符串。常用到到的表达式符号如下,将不同的符号组合为正则表达式。符号解释示例re1|re2匹配正则表达式 re1 或者 re2foo|bar匹配任何字符(除了\n 之外)b.b匹配字符串起始部分^Dear。
2025-05-17 09:13:22
1438
原创 Python 常用计算功能大揭秘:从基础运算到科学计算
(疑惑)我知道 Python 能做很多事,可具体到计算方面,我就只知道简单的加减乘除,还有别的厉害功能吗?:(露出神秘笑容)
2025-05-17 09:08:31
731
原创 Python的os模块:操作系统交互的得力助手
(苦恼)我想用 Python 获取当前目录下的所有文件,还想创建新文件夹,该怎么办呢?:(拿出魔法书)ososos.path。
2025-05-14 08:00:00
1157
python+selenium介绍selenium工具本身的功能,以及配合pytest和RobotFramework框架的应用
2024-10-13
Python的datetime模块是一个强大的日期和时间处理库,包含date/time/datetime/timedelta类
2024-09-20
Python的time模块提供了各种与时间相关的函数功能
2024-09-21
RobotFramework自动化框架介绍(16篇文章覆盖框架,接口和UI自动化等详细介绍)
2024-09-21
RobotFramework之使用DatabaseLibrary库操作mysql数据库(十一).docx
2024-02-18
python自动化框架RobotFramework内置变量详细介绍(九).docx
2024-02-18
RobotFramework框架之导入自己打包的python程序(十五).docx
2024-02-18
RobotFramework进阶之自定义的python模块(十四).docx
2024-02-18
RobotFramework之用例执行时添加命令行参数(十三).docx
2024-02-18
RobotFramework之如何使用数据驱动(十二).docx
2024-02-18
RobotFramework之http接口测试库RequestsLibrary使用介绍(十).docx
2024-02-18
python自动化框架RobotFramework灵活使用各种变量(八).docx
2024-02-18
代替ride使用pycharm高效执行RobotFramework用例(七).docx
2024-02-18
python自动化RobotFramework中userkeyword和resource文件(六)
2024-02-18
python自动化RobotFramework中Collections字典关键字使用(五).docx
2024-02-18
python自动化测试框架RobotFramework中Setup和Teardown(三)
2024-01-27
python自动化RobotFramework中Collections列表关键字使用(四)
2024-01-27
python自动化测试框架RobotFramework内置库BuiltIn介绍(二)
2024-01-27
python自动化测试框架RobotFramework基础环境安装/使用(一)
2024-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅