当前位置: 首页 > article >正文

QQ音乐GUI自动化测试

脑图步骤导入的包各个包的作用包名核心作用pywinauto0.6.9Windows 桌面应用自动化用来操作 QQ 音乐窗口、按钮、输入框等 UI 元素pytest8.3.2Python 测试框架用来组织、执行的自动化测试用例PyYAML6.0.1解析 YAML 配置文件用来读取你代码里的元素定位信息read_yaml工具依赖它pytest-order1.3.0pytest 插件用来控制用例执行顺序确保代码执行的时候不会出现问题allure-pytest2.13.5pytestAllure 报告插件用来生成美观、可视化的自动化测试报告代码参考https://gitee.com/zhan-yutao/guitest具体流程项目分层核心Utils把需要用到的工具进行封装方便后续的操作Logs打印日志的地方把日志进行打印方便后续的定位问题Report使用allure生成的报告美观且全面Result使用pytest之后的每一个案例都会被存入到这里后续的report就是根据这里进行的Tests存储着具体的测试案例conftest.pypytest 全局配置文件用来写全局 fixture比如代码里的QQMusic_app fixture用来启动 / 关闭 QQ 音乐所有用例共享pytest.inipytest 运行配置文件配置用例执行规则比如默认执行路径、日志格式、标记过滤等requirement.txt项目依赖清单记录所有需要安装的包和版本用pip install -r requirement.txt一键安装环境QQMusic.db项目数据库文件用来存储测试数据、用例执行结果、元素定位缓存公共层UtilsLogutils主要就是对日志进行封装把日志按照格式进行打印且过滤方便后续的解决问题及定位Yamlutils把数据使用yaml格式存储到data中后续需要的时候直接去yaml文件中修改即可不会出现写死的情况解耦Tests层test_common.py公共组件检查检查主界面 Logo 是否正常显示搜索功能测试激活搜索框防止出现聚焦不上的情况、全部选中原有的内容防止出现重复的输入、最后输入关键词进行搜索换肤功能测试打开换肤弹窗、校验提示文案是否正确最后关闭窗口窗口控制测试窗口最小化、验证最小化状态、然后还原窗口。导入音乐测试打开导入窗口、全选已经下在e盘的歌曲、确认添加。播放模式测试测试随机播放点击随机播放然后验证歌曲是否随机切换测试单曲循环验证歌曲是否重复播放测试列表循环验证播放到末尾后有无返回到第一首test_recommend.py推荐页面文本检查校验 “推荐”“今日为你推荐”“你的音乐补给” 文字是否显示正确。今日为你推荐模块测试测试左滚动、右滚动功能验证内容是否切换。音乐补给模块测试滚动展示区域、测试左右滚动验证内容变化。交互功能验证确保滚动按钮可用展示区域正常切换内容。test_local.py本地下载页面文本校验检查 “本地音乐”“歌曲名称”“歌手名称”“专辑名称” 文本。播放全部功能测试点击播放全部通过进度条变化验证是否正常播放。单曲双击播放测试双击列表歌曲验证是否正常开始播放。列表滚动控制将歌曲列表滚动到顶部保证用例稳定执行。批量收藏歌曲遍历列表点击爱心标记所有歌曲为喜欢为 “我喜欢” 模块提供测试数据。4.test_songwords.py歌词展示测试验证歌词面板是否正常显示。歌词滚动测试播放歌曲时校验歌词是否跟随进度滚动。歌词交互功能测试歌词点击、切换、全屏 / 收起等功能。异常场景验证暂停、切歌时歌词状态是否正常。使用Allure生成测试报告这里的成功率没有达到百分百问题出现在了assert上全角符号和半角符号的问题上断言执行到这里的时候由于符号匹配的问题导致报错原因解决方案只需要把符号进行修改即可注意点需要确保导包是正确的在使用pytest的时候一开始导包错误导致我后续执行一直报错后续通过日志解决使用UIspy的时候这个打印的控件和pywinauto打印的控件有时候会冲突需要pywinauto的打印为主否则会出现定稳不到控件的问题当报错ElementNotFound的时候需要注意是不是由于没有添加等待后者是没有刷新定位导致的最好使用优先定位auto-id,其次control_typ如果出现一个父窗口下有多个子控件重名的话就可以多添加几个不同的定位方法用例执行太快的时候需要添加等待不然就会出现还没有加载过来输入不全的问题需要聚焦窗口的问题否则输入可能会输错地方Fixture的作用域需要明确scorpe的取值需要明确执行用例的顺序一定一定要明确顺序否则就会出现执行报错存在逻辑关系的没办法正确执行当实在是找不到控件的时候就可以尝试使用rectangle进行页面的控制注意这个是定位坐标的页面的缩放会直接影响到使用get_item()的时候需要注意这个row是从0开始的在算长度的时候需要注意记得-1

相关文章:

QQ音乐GUI自动化测试

脑图步骤导入的包各个包的作用包名核心作用pywinauto0.6.9Windows 桌面应用自动化,用来操作 QQ 音乐窗口、按钮、输入框等 UI 元素pytest8.3.2Python 测试框架,用来组织、执行的自动化测试用例PyYAML6.0.1解析 YAML 配置文件,用来读取你代码里…...

UniHacker:革新性Unity全平台功能解锁工具的全流程解析

UniHacker:革新性Unity全平台功能解锁工具的全流程解析 【免费下载链接】UniHacker 为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub 项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker 一、核心价值:Unity开发者的功…...

多模态政策决策模型解析:美联储加息触发条件的量化框架

摘要:本文通过宏观经济多因子模型,结合劳动力市场指标、核心通胀路径与政策决策函数,分析美联储加息所需满足的关键条件,并构建其背后的利率决策逻辑。一、政策决策建模:美联储加息的核心触发机制在AI宏观决策模型&…...

Qwen3.5-4B-Claude-Opus基础教程:FastAPI路由设计与前后端交互逻辑

Qwen3.5-4B-Claude-Opus基础教程:FastAPI路由设计与前后端交互逻辑 1. 模型概述与部署架构 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是基于 Qwen3.5-4B 的推理蒸馏模型,特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力…...

终极指南:如何在ComfyUI中快速部署WanVideo视频生成工作流

终极指南:如何在ComfyUI中快速部署WanVideo视频生成工作流 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 想在ComfyUI中实现专业的AI视频生成吗?ComfyUI-WanVideoWrappe…...

终极MusicFree使用指南:深度解析开源插件化音乐播放器

终极MusicFree使用指南:深度解析开源插件化音乐播放器 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/mu/MusicFree 在移动音乐播放器市场被商业应用垄断的今天,你是否厌倦了…...

3步构建国标视频平台API文档:Knife4j如何提升GB28181开发效率

3步构建国标视频平台API文档:Knife4j如何提升GB28181开发效率 【免费下载链接】wvp-GB28181-pro 项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro 在国标视频平台开发中,API文档管理常成为技术瓶颈。手动维护文档耗时易错&am…...

7个系统优化黑科技:用Windows Cleaner实现磁盘空间高效管理

7个系统优化黑科技:用Windows Cleaner实现磁盘空间高效管理 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系统设计…...

SEO_如何通过内容策略显著提升SEO排名?

SEO排名提升的关键在于内容策略 在当今的互联网时代,如何通过内容策略显著提升SEO排名是每一个网站运营者的一大挑战。搜索引擎优化(SEO)在提升网站流量和品牌知名度方面扮演着不可或缺的角色。本文将深入探讨如何通过科学的内容策略&#xf…...

Nginx 高可用集群与 LVS 负载均衡实战指南(场景选型对比 + 完整配置步骤 + 主备漂移部署实操)

一、Nginx vs LVSipvsadm 核心场景对比表(终极对照)对比维度Nginx(你的高可用方案)LVSipvsadm(4 层负载方案)核心定位7 层应用层负载均衡4 层内核级负载均衡适用协议HTTP/HTTPS(Web、API、前端&…...

Rancher Desktop技术架构深度解析:桌面Kubernetes开发环境的实现原理与实践指南

Rancher Desktop技术架构深度解析:桌面Kubernetes开发环境的实现原理与实践指南 【免费下载链接】rancher-desktop Container Management and Kubernetes on the Desktop 项目地址: https://gitcode.com/gh_mirrors/ra/rancher-desktop 在当今云原生开发领域…...

C4D动画渲染农场怎么选?

选择C4D渲染农场一定要看2个方面:价格和是否需要排队。因为C4D是用显卡渲染,显卡的价格比CPU贵很多,而且数量也很紧缺。而渲C4D动画又需要大量的显卡机器,导致很多农场需要排队渲染,遇到紧急项目,就很容易耽…...

计算机网络核心概念

一、计算机网络到底在做什么?本质:把数据从一台设备,可靠 / 快速地送到另一台设备。为了做到这件事,需要解决:怎么标识设备(地址)怎么找到路径(路由)怎么保证不丢、不错、…...

工频干扰消除算法实战选型指南

1. 工频干扰的工程挑战与算法选型逻辑 第一次处理心电信号时,我被示波器上那条"跳舞"的波形惊呆了——本该平稳的QRS波群上叠加着明显的50Hz正弦波,就像给心电图套了层锯齿状的枷锁。这种工频干扰在生物电信号采集、工业传感器监测等领域堪称&…...

nli-distilroberta-base商业应用:短视频脚本与品牌调性关键词逻辑匹配分析

nli-distilroberta-base商业应用:短视频脚本与品牌调性关键词逻辑匹配分析 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务,专门用于分析两段文本之间的逻辑关系。这个轻量级但强大的工具可以帮助企业快速…...

TVBoxOSC:让电视盒子管理回归简单本质的开源解决方案

TVBoxOSC:让电视盒子管理回归简单本质的开源解决方案 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 核心价值:重新定义电…...

N_m3u8DL-CLI-SimpleG:轻松下载在线视频的终极图形界面工具

N_m3u8DL-CLI-SimpleG:轻松下载在线视频的终极图形界面工具 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 想要快速下载网络上的M3U8格式视频吗?N_m3u8DL…...

SEO_资深专家揭秘长期稳定的SEO操作秘诀

SEO操作的长期稳定之道:资深专家揭秘 在当今数字化时代,搜索引擎优化(SEO)已经成为了企业在网络上获得流量和知名度的关键手段。无论是小型企业还是大型公司,都在竞争着在搜索结果中的高排名。很多人在进行SEO操作时&a…...

ChatGPT与国内大模型的技术差距解析:从架构到应用场景

ChatGPT与国内大模型的技术差距解析:从架构到应用场景 在评估大语言模型时,基准测试是衡量其综合能力的重要标尺。以MMLU(大规模多任务语言理解)和C-Eval(中文语言理解评估基准)为例,GPT-4在MM…...

工业现场组网指南:用Schneider BMXNOM0200模块实现PLC与SCADA系统的稳定通讯

工业现场组网实战:基于Schneider BMXNOM0200的PLC-SCADA高效通讯架构设计 在工业自动化领域,稳定可靠的通讯网络如同生产线的神经系统,承载着控制指令与实时数据的双向传输。作为Modicon M340系列PLC的核心通讯扩展模块,BMXNOM02…...

终极Klipper固件高级调试指南:从日志分析到性能优化的完整技术解析

终极Klipper固件高级调试指南:从日志分析到性能优化的完整技术解析 【免费下载链接】klipper Klipper is a 3d-printer firmware 项目地址: https://gitcode.com/GitHub_Trending/kl/klipper Klipper作为高性能3D打印机固件,其日志系统和调试工具…...

从零到一:用Nuxt3、Vue3和Ant Design Vue搭建现代化Web应用

从零到一:用Nuxt3、Vue3和Ant Design Vue搭建现代化Web应用 在当今快速发展的前端领域,选择合适的技术栈对于构建高性能、可维护的Web应用至关重要。Nuxt3作为Vue生态中最具前瞻性的框架之一,结合Vue3的Composition API和Ant Design Vue的丰富…...

STM32HAL 进阶实战(一):SysTick软定时器 —— 构建非阻塞式多任务调度框架

1. SysTick定时器的本质与优势 SysTick定时器是ARM Cortex-M内核自带的一个24位递减计数器,它就像是嵌入式系统里的"心跳"。我在实际项目中发现,很多初学者会把它和普通定时器混淆,其实SysTick最大的特点是与操作系统深度绑定——它…...

HunyuanVideo-Foley音效生成:支持多声道输出(5.1/7.1)与空间音频格式导出

HunyuanVideo-Foley音效生成:支持多声道输出(5.1/7.1)与空间音频格式导出 1. 产品概述 HunyuanVideo-Foley是一款专为影视后期制作设计的AI音效生成工具,基于RTX 4090D 24GB显存显卡深度优化,能够自动生成高质量的环…...

内容解锁革新:突破付费壁垒的5种高效资源获取方案

内容解锁革新:突破付费壁垒的5种高效资源获取方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,优质内容的获取常常受到付费墙的限制。…...

MATLAB实战:5步搞定VSB调制解调(附完整代码+避坑指南)

MATLAB实战:5步实现VSB调制解调系统开发与性能优化 在数字通信系统设计中,残留边带调制(VSB)因其独特的频谱效率优势,成为广播电视和宽带通信的关键技术。本文将带您从零构建完整的VSB调制解调系统,通过MATLAB代码实现信号生成、频…...

3步解锁Zotero PDF Translate新可能:大模型翻译引擎接入实战指南

3步解锁Zotero PDF Translate新可能:大模型翻译引擎接入实战指南 【免费下载链接】zotero-pdf-translate 支持将PDF、EPub、网页内容、元数据、注释和笔记翻译为目标语言,并且兼容20多种翻译服务。 项目地址: https://gitcode.com/gh_mirrors/zo/zoter…...

3分钟极速汉化Figma:设计师必备的中文界面解决方案

3分钟极速汉化Figma:设计师必备的中文界面解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的全英文界面而烦恼吗?FigmaCN插件为您提供专业级…...

图像处理入门避坑指南:从拨码开关识别项目复盘霍夫变换与二值化的那些坑

图像处理实战复盘:拨码开关识别中的霍夫变换与二值化优化策略 第一次用OpenCV完成课程大作业时,面对拨码开关状态识别的需求,我原以为调用几个现成的图像处理函数就能轻松搞定。直到实际调试时才发现,从边缘检测到二值化的每个环节…...

QML输入控件进阶:TextField(文本框)的样式定制与交互优化

1. TextField样式定制基础 在QML开发中,TextField作为最常用的文本输入控件,其默认样式往往难以满足现代UI设计的需求。我第一次用TextField做登录界面时,就被那个灰突突的方框打击到了 - 这完全配不上我们精心设计的界面风格啊!…...