python专项测试——Android App自动化测试框架
1 为什么需要框架?
代码混乱,难阅读; 重复编码,效率低;需求变化,难维护;
一 自动化实例
1 准备测试的app;准备测试环境;实现脚本;
2 测试app:只有登录功能
测试环境:
- Appium(Android/IOS);
- Android SDK;
- Appium-Python-Client;
- Selenium(Appium-Python-Client继承于Selenium);
- UIAutomatorViewer
- Pycharm
3 实现脚本
在Pycharm中编写脚本;
用UIAutomatorViewer进行定位;
借助Appium—Python—Client实现的api;
借助Appium—Python—Client的字典实现属性;
运行脚本之前要启动Appium并进行设置,如果出现“新的session无法建立”的错误,请释放资源并重启Appium。
二 测试框架Unittest
1 主要讲解:Test Fixture; Test Case; Test Suite; Test Runner
2 Test Fixture包括准备,执行,清理的过程;对应到脚本上是:setup(), testcase(), teardown()
其他三项已知。
3 脚本
三 数据驱动框架
1 如何使用?准备第三方库——首先安装ddt库,其次在脚本中引入ddt, 然后就OK
具体:
- 到Python 官网下载ddt库;
- 在脚本中导入ddt库的命令:from ddt import ddt, data, unpack
- 在测试类前标注ddt :@ddt
- class MookTestCase(unittest.TestCase) ,说明本次的测试类是使用数据驱动框架
- 测试用例主要分为有参数和无参数,数据驱动主要用于带参数的测试用例
- 对于有一个参数的用例,使用元组存放被测试的数据,并加上data标注:@data(1, -3, 2, 0)
- def testcase(self, value):
- 对于有多个参数的用例,使用元组存放被测试的数据,并加上data标注:@data((3,2),(4,3), (5,3))
- @unpack
- def testcase(self, value1, value2):
2 脚本中应用
3 应用了ddt框架后,单独运行某条case的语句不再适用,但可以加载运行整个测试类。
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下