安卓APP UI自动化测试:Python + UiAutomator2 + pytest + pytest-html

安卓系统的APP的UI自动化测试, 作者为-html, 存在好多问题。时间是2024年1月17日, 23点48分,浏览量为49。

简介: 本文会介绍有关使用、、以及-html去开展安卓APP UI自动化测试方面的内容。且我们会具体解释各组件的用处是怎样的, 并且会借由一个实例来展现如何把它们组合到一块, 达成实效、具可靠性的自动化测试。

当下软件开发里, 自动化测试成为了无法缺少的一部分, 对于安卓APP情形而言,UI自动化测试特别重要, 原因是它可以模拟用户跟APP的交互, 保证APP的界面功能正常而且用户体验优良, 本文要讲述怎样运用、、和-html开展安卓APP UI自动化测试。

一、工具简介

: 它属于一种高级编程语言, 具备简洁的语法以及强大的第三方库支持, 它在自动化测试领域有着广泛应用, 能够和其他工具进行无缝集成。它是官方所提供的 UI 测试框架, 它是特定的绑定, 这让开发者能够便利地开展 UI 自动化测试。它是一个流行的测试框架, 拥有简单易用、扩展性强之类的特点, 支持诸如单元测试、功能测试等多种测试风格。它 HTML 是一个用于生成 HTML 格式测试报告的插件, 它能使测试结果变得更加直观、易于分析。

二、环境搭建

首要的是, 要保证你所处的开发环境当中, 安装了那些必需的库。能够借助pip来进行安装, 还有-html这种方式。

linenums 复制代码
  1. pip install uiautomator2 pytest pytest-html

三、编写测试用例

下一步, 着手编撰测试用例用以证实APP的UI功能。这儿有一个简易的示例:

linenums 复制代码
  1. import uiautomator2 as auto
  2. import time
  3. import pytest
  4. # 启动APP并获取设备对象
  5. d = auto.launch('com.example.app') # 替换为你的APP包名
  6. time.sleep(3) # 等待APP启动完成
  7. # 编写测试用例
  8. def test_example():
  9. # 查找元素并点击
  10. d.find_element('text', 'Login').click() # 替换为你要点击的元素文本
  11. time.sleep(1) # 等待页面加载完成
  12. assert d.text('text', 'Welcome') # 断言欢迎信息显示正常
  13. d.swipe('left') # 滑动操作,根据实际情况调整参数
  14. time.sleep(1) # 等待页面加载完成
  15. assert d.text('text', 'Profile') # 断言Profile页面显示正常
  16. d.swipe('right') # 滑动操作,根据实际情况调整参数
  17. time.sleep(1) # 等待页面加载完成
  18. assert d.text('text', 'Logout') # 断言Logout按钮显示正常并可点击

四、运行测试用例

在终端中运行命令来执行测试用例:

linenums 复制代码
  1. pytest test_example.py # 替换为你的测试用例文件名

五、生成测试报告

为了便于展开分析以及跟踪测试得出的结果, 我们能够运用-html去生成处于HTML格式之下的测试报告, 运行下面这样的命令:

linenums 复制代码
  1. pytest --html=report.html # 替换为你想要保存报告的文件名

这会生成一个名为.html的文件, 此文件里含有详尽的测试结果以及报告, 你能够在浏览器当中打开这个文件去查看结果。

经过上述步骤, 我们借助、、以及-html达成了安卓APP UI自动化测试。于实际开发期间, 你能够依据需求去编撰更为多样的测试用例, 并且运用这些工具开展更为周全、可靠的自动化测试。

相关推荐
用户9562562542910 小时前
跟做:Firecrawl 单页转 Markdown 再丢进沙箱总结
python·api
威哥爱编程11 小时前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
威哥爱编程11 小时前
模拟面试智能体开发实战 01:面试挂了都不知道挂在哪?用 Python 给自己造一个随叫随到的 AI 面试官
python·agent·harmonyos
2601_9679801111 小时前
Python行情API量化 02:顺序拉 20 要 2 秒?并发批量把时间压到 0.5 秒
python·api·限流·并发·量化
伞伞悦读11 小时前
【第81期】特征缩放怎么选:标准化、MinMax 与 Robust 的原理、泄漏对照和完整实验
人工智能·python·深度学习·机器学习
新*12 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
卷无止境14 小时前
mathmodel-figure-templates 以及两个上手案例
后端·python
锋行天下14 小时前
服务器 Python 2.7 装不了 langgraph-cli?用本地生成 Dockerfile 曲线救国
人工智能·后端·python
一条大祥脚14 小时前
深入理解 PyTorch FlexAttention:从 Score Mod 到 Mask Mod 的稀疏加速之道
人工智能·pytorch·python·注意力机制·flex attention·可编程注意力
2601_9679801116 小时前
Python自动化办公:模块、库与样式调整教程
python·excel·自动化办公·openpyxl·样式调整