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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446787.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!