安卓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自动化测试。于实际开发期间, 你能够依据需求去编撰更为多样的测试用例, 并且运用这些工具开展更为周全、可靠的自动化测试。

相关推荐
2601_962078031 小时前
构建RESTful APIs:使用Python和Flask
python·flask·web开发·api设计·构建restfulapis
2601_962300811 小时前
基于pytest的接口自动化测试:使用requests模块的实战项目与接口关联方法详解
接口自动化测试·测试用例·pytest·接口关联·requests模块
半亩码田1 小时前
C#转Python第4.5篇:单元测试:pytest vs xUnit/NUnit
python·单元测试·c#
2601_962300811 小时前
Python + Requests + Pytest + Excel + Allure:接口自动化测试项目实战
python·excel·pytest·allure·requests
Zane19941 小时前
两个线程算两遍循环,为什么只快了一点点不是两倍?GIL连环追问
后端·python
重生之小比特1 小时前
【Java SE】程序逻辑控制
java·开发语言·python
小灰灰搞电子1 小时前
Python 函数参数分隔符 *:Keyword-Only Arguments 原理与实践
开发语言·python
2601_962297251 小时前
Authlib 0.13通用Python认证授权库wheel安装包(支持Python 2/3)
python·jwt·oauth2.0·authlib·openidconnect
SamChan901 小时前
大文件多语言PDF翻译性能实测:300页文档的耗时、内存占用与失败率分析
python·ai·pdf·机器翻译