自动化测试框架(一)

初到新公司,自己琢磨着写一套Android手机的自动化测试框架,于是在网上走访各博客,论坛。参考了许多牛人的文章,尝试搭建了一个自动化测试框架。

整个框架使用的Python 语言。

框架简介:此框架是对 Android Uiautomator 的Python封装,支持Android4.1及以上版本。 需要安装Android SDK,设置ANDROID_HOME环境变量以及 adb环境。

框架原理:通过建立json-RPC服务,实现PC(client端)到手机(RPC server端)的远程控制

框架优点:脚本编写简单。相比于原生的uiautomator,需要编写Java代码,build文件,编译jar包,push到手机端执行

实现功能 1)UI操作与按键事件;   2)执行结果检测(文本检测,控件检测,图片对比);   3)用例批量执行 ;  4)生成测试报告  ; 5)抓取手机log

框架结构:

 

脚本代码:

#-*- coding:utf-8 -*-
'''
用例标题:检查联系人界面显示
测试步骤:
1.无联系人时检查界面显示;
预期结果:
1.显示新建联系人,导入联系人,从云端导入,其他手机导入四个选项;
'''
from aw import * 

######################################             
TAG=__file__.split("\\")[-1]         
TAG = TAG.split('.')[0]              
######################################
class TestScript(unittest.TestCase):
    def setUp(self):
        Common(DUT).goHome()
    def test_step(self):
        for i in range(LOOP.loop1):
            Common(DUT).clickByText("联系人",screeScroll=True,direction="left_right")
            Common(DUT).wait(1)
        
            result = Checkpoint(DUT).checkIfExist("检测点1",text="扫名片") \
            and Checkpoint(DUT).checkIfExist("检测点2",text="新建联系人")\
            and Checkpoint(DUT).checkIfExist("检测点3",text="导入联系人") \
            and Checkpoint(DUT).checkIfExist("检测点4",text="扫二维码")
            self.assertEqual(result, True)
            
    def tearDown(self):
        Common(DUT).goBack(1)
        Common(DUT).goHome()
        Common(DUT).clearRecentApp()

if __name__ == "__main__":
    unittest.main()

测试报告:

报告生成 参考 HTMLTestRunner库, http://www.cnblogs.com/Roger1227/p/3327311.html

有感兴趣的可以留言探讨。

转载于:https://www.cnblogs.com/gaigaige/p/6427929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值