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

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的语句不再适用,但可以加载运行整个测试类。

 

 

 

 

 

 

 

 

 

 

posted @   Cranberries  阅读(6837)  评论(0编辑  收藏  举报
编辑推荐:
· 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代理 了,记录一下
点击右上角即可分享
微信分享提示