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

合肥网站忧化发帖网站百度收率高的

合肥网站忧化,发帖网站百度收率高的,保定网站设计制作,沈阳seo网站推广⼀、概述 1.测试的背景 仿 QQ 音乐播放器作为一款音乐类应用,核心定位是为用户提供音乐播放、资源搜索、歌单管理及社交化交互功能,需对齐 QQ 音乐主流用户场景与体验标准。本次自动化测试聚焦功能完整性验证与界面交互稳定性,覆盖用户从 “…

⼀、概述

1.测试的背景

仿 QQ 音乐播放器作为一款音乐类应用,核心定位是为用户提供音乐播放、资源搜索、歌单管理及社交化交互功能,需对齐 QQ 音乐主流用户场景与体验标准。本次自动化测试聚焦功能完整性验证界面交互稳定性,覆盖用户从 “进入应用 - 操作核心功能 - 完成退出” 的全流程,不包含底层性能(如音频解码效率)、网络带宽适配、跨终端数据同步等非功能测试范畴。

2.测试的模块和目标

  • 测试的模块:界面logo、音乐播放控制(播放/暂停/切歌)、搜索功能、歌单管理(导入音乐)、推荐音乐界面,我的音乐等核心功能
  • 目标制定:对仿QQ音乐播放器实现回归测试,验证核心功能稳定性、界面交互响应等

二、测试用例设计

三、代码编写

1.脚本结构

代码模块 / 目录路径说明
测试用例目录tests/所有测试脚本存放的目录,根据页面创建测试文件
公共模块测试用例tests/test_common.py公共模块的测试用例
我喜欢的测试用例tests/test_like.py我喜欢模块的测试用例
本地下载测试用例tests/test_local.py本地下载模块的测试用例
推荐测试用例tests/test_recommend.py推荐模块的测试用例
数据存储目录data/存放通用数据目录
页面元素配置data/elements.yml页面元素配置文件
辅助工具和库目录utils/辅助工具和库的目录
日志工具utils/log_util.py封装日志相关操作
YAML 操作工具utils/yaml_util.py封装 YAML 操作
测试结果输出目录report/测试结果输出目录
动态测试报告输出目录report/allure-results/动态测试报告输出目录
静态测试报告输出目录report/html/静态测试报告输出目录
测试日志目录logs/测试日志目录
夹具配置文件conftest.py存放夹具(fixture)配置文件
pytest 配置文件pytest.inipytest 配置文件

2.核心脚本功能解析

1)夹具:封装程序启动与关闭conftest.py

这部分构建了自动化测试的基础设施,核心工作是封装被测应用——启动与关闭生命周期管理。它定义了一个QQmusicApp类,将应用的启动、窗口定位和关闭操作进行抽象和封装。同时加入了异常处理机制以确保启动失败时能记录错误日志。通过一个pytest的会话级夹具QQMusic_app,将整个应用的启动和关闭与测试框架的生命周期绑定,使得在所有测试用例开始前自动启动一次应用,并在全部测试结束后自动关闭应用,从而为后续的所有测试用例提供了一个稳定、干净的初始测试环境。

2)封装⼯具类/⽅法utils

主要是为音乐播放器自动化测试封装了两个实用工具类和方法。通过自定义日志相关的类和方法,创建了一个 Logger 类,它能根据日志级别(INFO 和 ERROR)将日志分别输出到总日志文件、INFO 专用日志文件和 ERROR 专用日志文件中,同时设置了统一的日志格式,包含时间、级别、名称、文件信息及具体消息等内容,会自动创建 logs 目录用于存储日志,确保测试过程中的各类信息能被规范记录。另外,实现了一个 read_yaml 函数,用于读取指定路径下 elements.yml 文件中的数据,通过传入键值 key 来获取对应的值,方便在测试过程中读取配置或元素信息,为后续的测试脚本提供基础支持。

3)编写用例

测试公共模块test_common.py

这部分是针对仿 QQ 音乐播放器公共模块的自动化测试,通过 pytest 框架编写了 TestCommon 测试类,包含多个测试方法。首先,测试 logo 是否可见,通过读取 yaml 文件中的元素信息定位 logo 元素并验证其可见性。接着测试搜索功能,定位搜索框后点击并输入关键词,确保输入操作正常。对于换肤功能,点击换肤入口唤起弹窗,验证弹窗的显示、文本内容是否正确,以及关闭弹窗后是否不再可见。测试最小化功能时,点击最小化按钮后验证窗口是否已最小化,再将窗口还原。导入音乐测试中,点击导入按钮唤起窗口,选中所有音乐并确认添加,检查窗口是否关闭。播放控制模块的测试包括随机播放、单曲循环和列表循环三种模式:随机播放测试通过多次将歌曲进度拉到尾部,观察下一首是否为非预期歌曲来验证;单曲循环测试切换模式后,多次检查歌曲播放完毕是否重复播放同一首;列表循环测试切换模式后,播放列表最后一首歌曲并拉到进度尾部,验证下一首是否为列表第一首,以此确保各播放模式功能正常。

测试本地下载test_local.py

这部分是针对仿 QQ 音乐播放器本地下载模块的自动化测试,同样基于 pytest 框架编写了 TestLocal 测试类。首先,测试本地下载页面的文本显示,通过点击导航栏的本地下载进入页面后,分别定位 “本地音乐”“歌曲名称”“歌手名称”“专辑名称” 等文本元素,验证其显示内容是否正确。接着测试播放全部功能,点击播放全部按钮后,通过对比点击前后播放进度条的长度变化,确认歌曲是否正常播放。然后测试选择单首歌曲并双击播放的功能,先将歌曲列表滚动到顶部,双击列表中第一首歌曲,再通过对比播放进度条前后的长度差异,验证单首歌曲能否正常播放。最后,为后续 “我喜欢” 模块的测试准备数据,对歌曲列表中的每一首歌曲进行标记喜欢操作,对于列表中靠后的歌曲,会先向下滚动使其显示,再点击对应位置完成标记。

测试我喜欢” 模块test_like.py

这部分是针对仿 QQ 音乐播放器 “我喜欢” 模块的自动化测试,基于 pytest 框架编写了 TestLike 测试类。首先,测试 “我喜欢” 页面的文本显示,通过点击导航栏的 “我喜欢” 进入页面后,分别定位 “我喜欢”“歌曲名称”“歌手名称”“专辑名称” 等文本元素,验证其显示内容是否准确。接着测试播放全部功能,点击播放全部按钮后,通过对比点击前后播放进度条的长度变化,确认 “我喜欢” 列表中的歌曲能否正常播放。然后测试选择单首歌曲并双击播放的功能,获取 “我喜欢” 列表中的第一首歌曲并双击,再通过对比播放进度条前后的长度差异,验证单首歌曲的播放功能是否正常。最后,测试取消标记喜欢的功能,先记录 “我喜欢” 列表中的歌曲数量,点击第一首歌曲的喜欢标记取消喜欢,再对比操作前后的歌曲数量,确认取消标记功能是否生效,即操作后列表数量应比操作前少 1。

测试推荐模块

这部分是针对仿 QQ 音乐播放器推荐模块的自动化测试,基于 pytest 框架编写了 TestRecommend 测试类。首先,测试推荐页面的文本显示,通过点击左侧导航的推荐入口进入页面后,分别定位 “推荐”“今日为你推荐”“你的音乐补给” 等文本元素,验证其显示内容是否正确。接着测试 “今日为你推荐” 区域的滚动功能,先获取滚动前第一项的文本,点击左滚动按钮后再次获取第一项文本,通过对比确认内容是否变化,以此验证左滚动功能;同样的方式,点击右滚动按钮后对比前后第一项文本,验证右滚动功能。然后测试 “你的音乐补给” 区域的滚动功能,先通过鼠标滚动使该区域完整显示,获取滚动前第一排第一项和第二排第一项的文本,点击左滚动按钮后再次获取这两个位置的文本,对比确认内容变化以验证左滚动;同理,点击右滚动按钮后对比前后文本,验证右滚动功能,确保推荐模块的滚动交互正常。

测试歌词模块

这部分是针对仿 QQ 音乐播放器歌词模块的自动化测试,基于 pytest 框架编写了 TestSongWords 测试类。首先,测试歌词页面的标题文本,通过点击歌词入口进入页面后,分别定位并获取歌手名和歌曲名的标题文本,验证其是否与预期的 “刀郎” 和 “2002 年的第一场雪” 一致。接着测试歌词内容,先收起歌词页面,点击 “我喜欢” 模块的播放全部按钮播放歌曲后立即暂停,以获取当前播放的歌手名和歌曲名;再重新进入歌词页面,遍历歌词列表中的内容,检查是否存在包含当前播放歌曲名或歌手名的歌词,若存在则验证通过,若始终未匹配到则抛出异常,以此确保歌词显示与当前播放歌曲相符。

四、代码参考

QQmusic-test测试代码

五、生成测试报告与结果分析

从 Allure 测试报告可知,此次共执行了 13 个测试用例,测试执行时间为 15:38:10 - 15:38:42,耗时 32 秒 08 毫秒。所有测试用例均通过,测试通过率达到 100%,表明被测系统(仿 QQ 音乐播放器相关模块)在此次测试范围内功能正常,未出现测试失败的情况。

http://www.dtcms.com/a/451233.html

相关文章:

  • ORB_SLAM2原理及代码解析:Tracking::TrackWithMotionModel() 函数
  • 基于51单片机超声波测液位测距仪水位监测报警设计
  • 制作网站 优帮云德清县新巿镇城市建设网站
  • 武义县建设局网站首页子网站怎么建设
  • 湖州北京网站建设开发工具包
  • 凡科网建网站付费链接怎么做网站建设 面试问题
  • 模板网站建设教程视频做企业官网需要注意什么
  • php做网站 价格郑州大型网站制作
  • 海南澄迈县网站优化的代码
  • 邢台手机网站建设费用ml免费域名注册
  • 随机化快速排序
  • 长沙建网站培训机构京东网站设计特点
  • 2025-10-06 Python不基础 9——迭代器与生成器
  • 物业管理系统需求分析自助建站优化排名
  • UNIX下C语言编程与实践30-UNIX 进程控制:vfork-exec 模型与 fork-exec 模型的效率对比
  • 网站开发讲座不属于网站后期维护
  • 网站建设与管理课程实训哈尔滨智能建站模板
  • 凭祥网站建设盐城网站建设定制
  • 江苏中盛建设集团网站网站怎么做透明导航栏
  • 太仓智能网站建设服装电子商务网站建设
  • 潍坊公司网站制作微信微商城怎么开通
  • 网站开发建设项目服务清单一级a做爰片免费网站
  • wordpress建站环境搭建wordpress生成app
  • 公司创建的法制网站邢台163信息港
  • python做网站难么优化关键词快速排名
  • 鸿蒙实现滴滴出行项目
  • 外贸网站做哪些语言wordpress后太慢
  • 自己如何做网站优化网站购物车实现
  • 一个网站一年的费用多少国际军事最新军事新闻
  • 知名的中文域名网站有哪些阜阳手机网站建设