- 博客(42)
- 收藏
- 关注
原创 Appium Session什么情况需要package name autocompletion enabled
package name autocompletion 是 Appium 的“便利功能”,只适用于 Android native + 短 id + 已知 package 的场景,但在稳定自动化中不推荐依赖。
2026-06-23 08:03:38
255
原创 用 Xcode Instruments 验证 App 性能和稳定性
《iOS应用性能测试指南》摘要(149字) 针对Mac+Xcode环境下的iOS应用性能测试,本文提供完整的Instruments工具使用方案。测试流程包含:1)通过TimeProfiler+Allocations+Leaks组合检测CPU/内存问题;2)Network模板分析接口性能;3)CoreAnimation监测UI帧率。重点推荐多设备对比测试,特别是旧机型与低版本iOS的兼容性验证。测试时建议同步屏幕录制,结合dSYM文件解析崩溃日志,并通过分段录制精准定位问题模块。最终报告需包含设备信息、性能指
2026-04-12 17:18:34
457
原创 Xcode Instruments介绍
Xcode Instruments是苹果官方提供的强大性能分析工具套件,适用于iOS/macOS应用开发和测试。它提供全面的性能监控功能,包括CPU分析、内存检测、网络监控、电量消耗和UI性能评估等核心功能。QA团队可利用其实时监控和记录能力,快速定位卡顿、内存泄漏、掉帧等问题,并生成可复现的性能报告。相比Android Profiler,Instruments功能更全面,能有效验证不同设备和系统版本的表现差异,帮助提升应用质量和用户体验。
2026-04-12 17:08:49
413
原创 如何判断 LeakCanary 报告的严重程度
摘要:LeakCanary内存泄漏严重程度应从多维度综合评估:1. 对象类型(Activity/Bitmap高危)和内存大小;2. 生命周期状态(mDestroyed=true更严重);3. 保留时间(长则危险);4. 泄漏频率(高频更紧急);5. 用户体验影响(卡顿/OOM必须修复)。建议优先处理Activity、大Bitmap等短生命周期对象泄漏,结合重复测试和内存曲线验证修复效果。评估时应综合考虑对象价值、保留时长、内存消耗和使用频率四个关键因素。(149字)
2026-04-11 14:05:33
1084
原创 Reactive Native APP的重点测试点
摘要:React Native Android应用测试需从三个维度系统覆盖:1)通用移动端测试(功能、UI/UX、性能、网络、安全);2)RN特有机制(JS-Native Bridge、线程模型、热更新、第三方库兼容性);3)Android平台特性(生命周期、权限模型、厂商ROM差异)。建议采用分层测试策略(单元/集成/E2E),重点关注Bridge通信、导航和性能问题,并建立包含机型矩阵和风险分析的测试方案,特别需验证CodePush热更新和后台进程回收等场景。
2026-04-11 13:29:13
448
原创 Afterpay Sandbox账号创建过程
Afterpay的Sandbox环境创建流程与其他支付平台不同,需要先注册为商户或申请Sandbox访问权限。主要步骤包括:1)通过开发者平台申请Sandbox权限获取API凭证;2)使用模拟消费者数据进行测试交易,无需注册测试账号;3)通过特定API端点模拟支付成功/失败等场景。关键注意事项:Sandbox非自助式开通、测试用户需使用模拟数据而非真实账号、必须区分Sandbox和生产环境接口。测试重点应覆盖正常支付流程、异常情况以及边界条件验证。整个过程免费但需商户身份,适合进行完整的支付集成测试。
2026-04-09 09:10:12
376
原创 如何创建Klarna的Sandbox账号
Klarna支付测试环境使用指南:注册开发者账号后获取测试商户ID和API密钥,在隔离的Sandbox环境中模拟各种支付场景(成功/失败/取消)。测试时使用虚拟客户信息(如邮箱customer+us@klarna.com、万能验证码123456)和官方提供的测试手机号(+1202-555-0101),避免真实验证流程。注意检查API请求中的客户信息格式,利用预设测试数据可快速验证支付流程。测试账号可重复使用,不会影响生产环境。
2026-04-09 08:57:54
335
原创 手动访问网页用的chrome,和使用命令行指定端口启动的chrome,浏览器指纹是否一致
使用chrome.exe --remote-debugging-port=9222 --user-data-dir=XXX启动浏览器,手动登录后,在脚本中使用connect_over_cdp attach到该浏览器里的页面进行爬取,一开始运行正常,后来每隔半小时弹出cloudfare确认真人的确认框,需手动勾选确认后脚本才可继续执行。重启电脑后脚本重又工作正常。
2026-04-07 12:32:14
529
原创 accessibility test的哪些部分可以自动化,通常使用哪些工具
自动化适合:可检测的代码/样式问题,如标签语义、颜色对比、ARIA 属性。人工评估必需:屏幕阅读器兼容性、交互逻辑可理解性、内容描述是否合理。常用策略:自动化扫描发现问题 → 人工复核 + 验证 → 生成完整无障碍报告。
2026-03-27 15:14:39
322
原创 VS Code中设置自动激活Python虚拟环境失效的解决办法
摘要:解决VSCode中Python虚拟环境在终端无法自动激活的问题。方法:1)在项目.vscode文件夹创建settings.json;2)按系统配置路径(Windows用双反斜杠);3)关键参数:${workspaceFolder}变量确保路径通用,python.defaultInterpreterPath指定解释器路径,python.terminal.activateEnv设为true;4)保存后重启VSCode。注意检查JSON格式、路径名称及文件夹权限。该方法通过明确指定解释器路径和强制激活环境解
2026-03-26 09:43:56
774
原创 Web测试中如何简化使用多种设备和多种分辨率进行的测试
响应式断点测试是验证网页在不同屏幕尺寸下布局和功能正确性的测试方法。通过CSS媒体查询定义断点(如768px、1024px等),测试人员需检查页面布局、UI元素显示、交互功能等在不同设备(手机、平板、电脑)下的适配情况。常见测试内容包括元素排列、图片缩放、菜单展开等,可使用Chrome开发者工具或自动化工具(如Playwright)进行测试。重点验证关键断点(如375x812、768x1024等),确保各设备用户体验一致。
2026-03-11 14:00:31
369
原创 Pycharm中执行Python脚本如何通过Fiddler捕获
摘要:Python脚本执行时默认使用系统环境变量中的HTTP_PROXY/HTTPS_PROXY设置代理。验证方法是在代码中设置Verify=True和错误证书路径,查看报错信息是否包含代理信息。若需仅在PyCharm中设置代理,可通过运行/调试配置的环境变量选项定义,不影响系统设置。命令行执行时可用set命令临时设置代理,仅对当前窗口有效。这种方法实现了代理设置的局部化,避免影响其他程序。
2026-03-06 11:10:38
147
原创 使用pytest+playwright写API测试自动化,和直接用pytest+requests库写API测试自动化的比较
在使用和进行 API 测试自动化时,两者各有优缺点。选择哪种方式取决于你的需求和测试场景。
2026-02-13 14:27:20
785
原创 移动端真机测试涉及的知识点
兼容各个版本的 Android 系统(如 Android 10、11、12、13)以及不同厂商定制的 UI(如 One UI、MIUI、ColorOS、EMUI)。:测试不同类型的设备,如高端机型(例如 iPhone 13 Pro)、中低端设备(例如 Android 的某些老款设备),确保兼容性。:维护一个合理的设备池,能够支持不同操作系统(Android、iOS)的版本、品牌、屏幕尺寸、分辨率、硬件配置等。:真实设备测试可以模拟不同的网络条件(如 4G、5G、Wi-Fi、2G、3G 等),以及。
2026-02-13 10:19:23
621
原创 Pycharm中创建虚拟环境提示invalid问题的解决
此时看到我的代码路径包含中文(因为在onedrive下,中文系统路径包含“文档”这样的中文),尝试了一下在其他不含中文的路径下创建虚拟环境,正常没有提示invalid,于是把onedrive中文件夹重命名为Documents,再重新创建虚拟环境,正常不报错,安装pytest等包,也不再提示模块未定义,同时之前显示不了用例执行结果的测试报告,也都正常显示了。问题的起源是新机器环境运行原有测试框架,测试报告中仅有标题行,没有测试用例执行结果列出。只是不知道为何这个invalid问题会突然出现。
2026-02-06 11:03:18
243
原创 解决Flutter JDK和gradle不兼容的问题
解决方案:指定flutter使用的JDK版本。命令:flutter config --jdk-dir=PATH_TO_COMPATIBLE_JDK。原因:Flutter默认找Android Studio的JDK,我当前版本21.0.3,而项目的gradle版本为7.5,两者不兼容(参考。PATH_TO_COMPATIBLE_JDK为另外安装的兼容版本JDK(我装了JDK 11)设置后重开终端以读取设置,再执行flutter run,不再有上述报错。
2026-02-04 16:14:40
246
原创 在Docker Node环境下安装包
Node.js在Windows下推荐使用Docker安装,之前没有尝试过,记录下ChatGPT总结的过程需求如下:本地已下载有一个node:24-alpine的镜像,需要创建一个容器,在容器中使用目录E:\Code\Javascript\sample-apps-master的内容执行npm install sample-apps分析需求,也即需要在容器里挂载本机目录。
2026-01-29 16:45:21
304
原创 Mac连不上网的一个解决方法
今天Mac Mini突然连不上网络了,WIFI、有线都是,PC和手机连接WIFI都正常。另外,通话过程中小哥给我的手机发送一个请求,我接受后,把手机摄像头对着屏幕,小哥就能看到我的屏幕了,有点厉害。打开系统设置的网络-Wi-Fi,点开右下角三个点,选择Location-Edit Location,具体原理不太清楚,小哥说下次再遇到就把自己添加的location都删了只留这第一个添加的。这样就添加了一个Location,之后尝试打开网页就都正常了。在这个窗口中点击左下角的+号,然后直接回车。
2025-03-05 18:12:47
1121
原创 Playwright的测试定义为什么不写在测试类定义内部
由Python转到Typescript的Playwright,有一个比较难理解的问题:在用Python的unittest/pytest写测试用例的时候,都是把测试方法写在测试类的定义里的;但是Playwright(Typescript)中,看到的是把测试方法都写在测试类的定义之外。针对这个问题,ChatGPT的解答如下:在 Playwright 或其他类似的自动化测试框架中,测试函数通常不会写在测试类定义内部,而是采用独立的测试函数结构。
2025-02-28 12:36:06
605
原创 Javascript中立即调用的异步函数表达式
Immediately Invoked Async Function Expression,简称 IIFE
2025-02-26 16:35:04
523
原创 Python Playwright的同步API和异步API
同步 API:适合不需要并发的应用场景,简化了代码结构,避免了异步编程的复杂性。异步 API:适合高并发应用,如同时处理多个页面或任务,能够提高性能并减少阻塞。
2025-02-09 07:30:29
1241
原创 Playwright原理及Python Playright原理
Playwright 通过浏览器的 DevTools 协议控制浏览器,允许你在浏览器中执行一系列自动化操作,如点击、输入文本、等待元素、拦截请求等。其异步模型使得它在处理大量的 UI 测试时非常高效。此外,Playwright 还支持跨浏览器自动化,支持无头模式,并且提供了强大的调试和可视化工具,极大提高了 Web 自动化测试的效率和准确性。
2025-02-09 07:06:16
2156
原创 Playwright的page.locator和page.query_selector的区别
如果你只需要操作单个元素,并且对性能要求较高,可以使用。
2025-02-05 08:47:31
1287
原创 Appium自动化测试如何判断App是否异常退出
在 Appium 中判断一个应用是否已经异常退出(如崩溃或被强制关闭)是一项重要任务。Appium 的是会话是否存在的标志。如果会话失效,说明应用可能已崩溃或会话被中断。
2025-01-15 22:14:01
622
原创 Pytest Selenium WebDriver退出
在使用Python Selenium进行web自动化测试过程中,考虑整个测试框架中如何处理WebDriver的退出问题。问了ChatGPT两个问题,返回大段内容。以下整理了ChatGPT的回复,在后面的实践中进行核对修正。----------------------------------------------分割线-------------------------------------------------------在 Selenium 自动化测试 中,如果程序因错误退出,webdriver。
2025-01-05 09:52:04
1457
原创 Selenium如何操作下拉框
如果选项是动态加载的,可以使用显式等待确保选项出现后再进行操作。元素的自定义下拉列表,通常需要通过点击和定位选项来操作。元素,Selenium 提供了内置的。以下内容由ChatGPT生成,仅作记录。对于标准的 HTML。
2025-01-05 09:50:20
881
原创 Python Appium如何点击弹窗
在 Python 的 Appium 自动化测试中,点击弹窗的元素通常需要根据弹窗的具体情况使用适当的方法定位元素并进行操作。
2025-01-04 11:13:05
758
原创 Python selenium如何点击弹窗
网页中的弹窗不是原生 JavaScript 弹窗,而是 HTML 元素实现的。处理方式与普通 HTML 元素的交互相同。JavaScript 的原生弹窗是浏览器提供的,如。以下内容由ChatGPT生成,仅作记录。针对这两种情况,处理方法有所不同。Selenium 提供了。
2025-01-04 11:08:57
682
原创 在MAC XCODE里打包了IPA文件,可以拿到WINDOWS电脑上跑IOS自动化测试吗
在Windows电脑上直接运行iOS自动化测试是不可行的。因为iOS应用(如IPA文件)需要在macOS环境下才能运行,且iOS自动化测试框架(如XCUITest、Appium等)通常依赖于Xcode、macOS和相关的iOS模拟器或设备。
2024-12-25 08:33:25
498
原创 xcode如何生成app或ipa文件
生成 .app 文件: 通过 Xcode 的Build操作,将.app文件生成到build文件夹中。生成 .ipa 文件: 使用 Xcode 的Archive操作,然后通过导出.ipa文件。
2024-12-24 22:20:39
4172
原创 Appium如何高亮显示元素
在 Appium 中,虽然没有内置的直接方法可以高亮显示元素(像 Selenium 的 JavaScript 执行功能那样),但我们可以通过一些技巧来实现这一功能。以下是高亮元素的常用方法和实现方式。Appium自动化测试调试过程中,有时想高亮显示找到的元素以定位一些奇怪的问题,以下内容为ChatGPT生成,作为记录。如果你的测试是在 WebView 环境中,可以通过执行 JavaScript 来操作页面元素样式,将其高亮显示。虽然不是真正的高亮,但可以使用模拟点击的方式间接让目标元素可视化。
2024-12-23 21:30:27
482
原创 Appium Inspector无法正常连接App的问题解决
Appium Inspector之前可以正常启动App,突然不行了,点击Start后,Inspector始终处于加载中的状态,镜像的App页面无法刷新出来,查看appium server的日志有如下报错:查找解决方案如下: (因为之前可以正常连接,应该不是这个问题) 日志分析: 检查 Appium 服务启动时的详细日志是否有更多报错信息。验证 App 安装: 设备兼容性:重试:实操:本次遇到的问题经过第3步和第4步解决
2024-12-22 15:59:37
1593
原创 为什么Appium自动化需要启动appium server,而selenium不需要
虽然 Selenium 通常不需要单独的服务器,但在分布式测试(多设备、多浏览器并行测试)中,Selenium Grid 提供了类似于 Appium Server 的功能,充当控制中心和代理,管理多台设备或浏览器的通信。Appium Server 的作用是充当客户端(测试脚本)和目标设备(手机/模拟器)之间的代理,负责接收测试脚本中的指令,并将其翻译成目标设备可以理解的命令。Appium 是一个专门为移动应用自动化测试设计的框架,它需要一个。
2024-12-21 18:11:25
1334
原创 pytest跳过测试父类中测试方法
pytest selenium/appium测试用例组织方式有很多种,笔者采用的是一个类启动一次webdriver,并在最后退出webdriver。每个类中指定登录的用户,有些测试是需要覆盖不同的用户,但执行的操作基本相同,就可以提取出父类,在父类中定义测试方法,子类中只需要指定登录的用户,以及必要时重写父类中的测试方法。但是按照继承关系写好测试用例后,有一个问题:测试父类的测试方法也被收集了,加上在测试父类中一般不会指定登录用户,会导致测试失败。TestBase这种方法通过使用pytest提供的或。
2024-12-16 21:17:59
450
原创 Mac上使用VMWare Fusion安装Windows 11 Pro虚拟机踩坑记录
由于有的用户使用Mac上的Windows虚拟机环境运行被测软件,因此需要安装一个这样的环境验证被测软件在Mac的Windows虚拟机里运行是否正常。宿主机操作系统:MacOS Sonama 14.6芯片: Apple M2虚拟机软件:VMware Fusion虚拟机待安装操作系统:Windows 11 Pro。
2024-11-04 18:05:55
10112
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅