码迷,mamicode.com
首页 > 移动开发 > 详细

python专项测试——Android App自动化测试框架

时间:2017-06-18 17:24:16      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:sel   ack   pack   实现   port   自动化测试   讲解   清理   har   

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

 

 

 

 

 

 

 

 

 

 

python专项测试——Android App自动化测试框架

标签:sel   ack   pack   实现   port   自动化测试   讲解   清理   har   

原文地址:http://www.cnblogs.com/insist8089/p/7044667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!