- 博客(30)
- 收藏
- 关注
原创 使用pytest+playwright写API测试自动化,和直接用pytest+requests库写API测试自动化的比较
在使用和进行 API 测试自动化时,两者各有优缺点。选择哪种方式取决于你的需求和测试场景。
2026-02-13 14:27:20
257
原创 移动端真机测试涉及的知识点
兼容各个版本的 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
445
原创 Pycharm中创建虚拟环境提示invalid问题的解决
此时看到我的代码路径包含中文(因为在onedrive下,中文系统路径包含“文档”这样的中文),尝试了一下在其他不含中文的路径下创建虚拟环境,正常没有提示invalid,于是把onedrive中文件夹重命名为Documents,再重新创建虚拟环境,正常不报错,安装pytest等包,也不再提示模块未定义,同时之前显示不了用例执行结果的测试报告,也都正常显示了。问题的起源是新机器环境运行原有测试框架,测试报告中仅有标题行,没有测试用例执行结果列出。只是不知道为何这个invalid问题会突然出现。
2026-02-06 11:03:18
158
原创 解决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
137
原创 在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
97
原创 Mac连不上网的一个解决方法
今天Mac Mini突然连不上网络了,WIFI、有线都是,PC和手机连接WIFI都正常。另外,通话过程中小哥给我的手机发送一个请求,我接受后,把手机摄像头对着屏幕,小哥就能看到我的屏幕了,有点厉害。打开系统设置的网络-Wi-Fi,点开右下角三个点,选择Location-Edit Location,具体原理不太清楚,小哥说下次再遇到就把自己添加的location都删了只留这第一个添加的。这样就添加了一个Location,之后尝试打开网页就都正常了。在这个窗口中点击左下角的+号,然后直接回车。
2025-03-05 18:12:47
897
原创 Playwright的测试定义为什么不写在测试类定义内部
由Python转到Typescript的Playwright,有一个比较难理解的问题:在用Python的unittest/pytest写测试用例的时候,都是把测试方法写在测试类的定义里的;但是Playwright(Typescript)中,看到的是把测试方法都写在测试类的定义之外。针对这个问题,ChatGPT的解答如下:在 Playwright 或其他类似的自动化测试框架中,测试函数通常不会写在测试类定义内部,而是采用独立的测试函数结构。
2025-02-28 12:36:06
580
原创 Javascript中立即调用的异步函数表达式
Immediately Invoked Async Function Expression,简称 IIFE
2025-02-26 16:35:04
469
原创 Python Playwright的同步API和异步API
同步 API:适合不需要并发的应用场景,简化了代码结构,避免了异步编程的复杂性。异步 API:适合高并发应用,如同时处理多个页面或任务,能够提高性能并减少阻塞。
2025-02-09 07:30:29
1138
原创 Playwright原理及Python Playright原理
Playwright 通过浏览器的 DevTools 协议控制浏览器,允许你在浏览器中执行一系列自动化操作,如点击、输入文本、等待元素、拦截请求等。其异步模型使得它在处理大量的 UI 测试时非常高效。此外,Playwright 还支持跨浏览器自动化,支持无头模式,并且提供了强大的调试和可视化工具,极大提高了 Web 自动化测试的效率和准确性。
2025-02-09 07:06:16
1926
原创 Playwright的page.locator和page.query_selector的区别
如果你只需要操作单个元素,并且对性能要求较高,可以使用。
2025-02-05 08:47:31
1087
原创 Appium自动化测试如何判断App是否异常退出
在 Appium 中判断一个应用是否已经异常退出(如崩溃或被强制关闭)是一项重要任务。Appium 的是会话是否存在的标志。如果会话失效,说明应用可能已崩溃或会话被中断。
2025-01-15 22:14:01
570
原创 Pytest Selenium WebDriver退出
在使用Python Selenium进行web自动化测试过程中,考虑整个测试框架中如何处理WebDriver的退出问题。问了ChatGPT两个问题,返回大段内容。以下整理了ChatGPT的回复,在后面的实践中进行核对修正。----------------------------------------------分割线-------------------------------------------------------在 Selenium 自动化测试 中,如果程序因错误退出,webdriver。
2025-01-05 09:52:04
1417
原创 Selenium如何操作下拉框
如果选项是动态加载的,可以使用显式等待确保选项出现后再进行操作。元素的自定义下拉列表,通常需要通过点击和定位选项来操作。元素,Selenium 提供了内置的。以下内容由ChatGPT生成,仅作记录。对于标准的 HTML。
2025-01-05 09:50:20
822
原创 Python Appium如何点击弹窗
在 Python 的 Appium 自动化测试中,点击弹窗的元素通常需要根据弹窗的具体情况使用适当的方法定位元素并进行操作。
2025-01-04 11:13:05
695
原创 Python selenium如何点击弹窗
网页中的弹窗不是原生 JavaScript 弹窗,而是 HTML 元素实现的。处理方式与普通 HTML 元素的交互相同。JavaScript 的原生弹窗是浏览器提供的,如。以下内容由ChatGPT生成,仅作记录。针对这两种情况,处理方法有所不同。Selenium 提供了。
2025-01-04 11:08:57
577
原创 在MAC XCODE里打包了IPA文件,可以拿到WINDOWS电脑上跑IOS自动化测试吗
在Windows电脑上直接运行iOS自动化测试是不可行的。因为iOS应用(如IPA文件)需要在macOS环境下才能运行,且iOS自动化测试框架(如XCUITest、Appium等)通常依赖于Xcode、macOS和相关的iOS模拟器或设备。
2024-12-25 08:33:25
456
原创 xcode如何生成app或ipa文件
生成 .app 文件: 通过 Xcode 的Build操作,将.app文件生成到build文件夹中。生成 .ipa 文件: 使用 Xcode 的Archive操作,然后通过导出.ipa文件。
2024-12-24 22:20:39
3665
原创 Appium如何高亮显示元素
在 Appium 中,虽然没有内置的直接方法可以高亮显示元素(像 Selenium 的 JavaScript 执行功能那样),但我们可以通过一些技巧来实现这一功能。以下是高亮元素的常用方法和实现方式。Appium自动化测试调试过程中,有时想高亮显示找到的元素以定位一些奇怪的问题,以下内容为ChatGPT生成,作为记录。如果你的测试是在 WebView 环境中,可以通过执行 JavaScript 来操作页面元素样式,将其高亮显示。虽然不是真正的高亮,但可以使用模拟点击的方式间接让目标元素可视化。
2024-12-23 21:30:27
460
原创 Appium Inspector无法正常连接App的问题解决
Appium Inspector之前可以正常启动App,突然不行了,点击Start后,Inspector始终处于加载中的状态,镜像的App页面无法刷新出来,查看appium server的日志有如下报错:查找解决方案如下: (因为之前可以正常连接,应该不是这个问题) 日志分析: 检查 Appium 服务启动时的详细日志是否有更多报错信息。验证 App 安装: 设备兼容性:重试:实操:本次遇到的问题经过第3步和第4步解决
2024-12-22 15:59:37
1439
原创 为什么Appium自动化需要启动appium server,而selenium不需要
虽然 Selenium 通常不需要单独的服务器,但在分布式测试(多设备、多浏览器并行测试)中,Selenium Grid 提供了类似于 Appium Server 的功能,充当控制中心和代理,管理多台设备或浏览器的通信。Appium Server 的作用是充当客户端(测试脚本)和目标设备(手机/模拟器)之间的代理,负责接收测试脚本中的指令,并将其翻译成目标设备可以理解的命令。Appium 是一个专门为移动应用自动化测试设计的框架,它需要一个。
2024-12-21 18:11:25
1278
原创 pytest跳过测试父类中测试方法
pytest selenium/appium测试用例组织方式有很多种,笔者采用的是一个类启动一次webdriver,并在最后退出webdriver。每个类中指定登录的用户,有些测试是需要覆盖不同的用户,但执行的操作基本相同,就可以提取出父类,在父类中定义测试方法,子类中只需要指定登录的用户,以及必要时重写父类中的测试方法。但是按照继承关系写好测试用例后,有一个问题:测试父类的测试方法也被收集了,加上在测试父类中一般不会指定登录用户,会导致测试失败。TestBase这种方法通过使用pytest提供的或。
2024-12-16 21:17:59
424
原创 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
9056
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅