zoukankan      html  css  js  c++  java
  • 自动化测试框架(一)

    初到新公司,自己琢磨着写一套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

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

  • 相关阅读:
    iOS开发allocWithZone介绍
    如何快速的查看一段代码的执行时间
    iOS关于setContentOffset的一些细节问题
    iOS开发libz.dylib介绍
    C#窗体无法接受Keydown事件
    visual studio 2010 C#编程时 没有.NET framework 2.0目标框架的解决办法
    StringBuilder类与String类的区别
    Refresh和Invalidate的比较
    正则表达式
    Queue 先进先出队列的操作
  • 原文地址:https://www.cnblogs.com/gaigaige/p/6427929.html
Copyright © 2011-2022 走看看