zoukankan      html  css  js  c++  java
  • Android 并行自动化测试系统 实现总结


    一:    总体架构


            系统工程架构源码:https://github.com/UDLD/UIAUTOMATORTEST

    整个系统基于: UiAutomator + 自编Python交互库 + Robot + Shell脚本 。  

           采用关键字驱动测试模式,以UiAutomator为主要测试接口,测试逻辑主要由Robot Framework控制,测试报告亦基于Robot Framework。

           UiAutomator脚本工程框架,写入了大量复用操作,以提高代码复用行、扩展性和易维护性;采用三层分离,适用于多系统多平台测试。


           系统架构图如下:

                       

          


    二.   系统特点

    1.  支持多机器并行跑测试用例,也支持跑多台机器间交互的测试用例。

            2.  自动化测试生成Html格式易读报告。

            3.  关键字驱动,代码复用,测试脚本易维护。

            4.  报告生成后自动邮件发送。

            5.  执行用例期间Log自动获取并保存。

            6.  关键字库功能基本覆盖黑盒测试需求。


     三.   关键字库设计实现总结


    1.   对控制台输出进行处理的时候要严谨,尤其是对带有空格的输出文本的处理,因为屏幕大小和系统版本可能会影响处理结果。


             2.  因为有可能针对多用例串行测试,所以Python测试交互方法中全局变量的处理要严谨,如果函数多次调用全局变量,要明确上次调用对本次调用的影响。


             3.  因为要并行测试,所以在需要明确Device的方法,都要添加Device参数。


             4.  为了工程更具移植性和准确性,要注重工作路径的切换,尤其是测试用例对库的引用,测试报告、测试图片、测试APK等路径的设置和引用。


             5.  因为Robot只会打印关键字的输出到测试报告,故UiAutomator测试脚本中的输出和其他一些方法必要输出要返回并获取,然后在关键字方法中输出。


              6.  在和Robot的交互中,要理解Robot的输出控制,适时添加控制台输出和报告输出,已更加明确的显示测试进程。










  • 相关阅读:
    SQLite 入门教程(一)基本控制台(终端)命令 (转)
    SQLite 入门教程(二)创建、修改、删除表 (转)
    SQLite 入门教程(三)好多约束 Constraints(转)
    《将博客搬至CSDN》
    Win32的绘图消息大集合
    使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序
    Android Studio(Kotlin)之RecyclerView
    Unity3D学习笔记
    win10永久激活方法-备份
    oracle整理
  • 原文地址:https://www.cnblogs.com/udld/p/5746376.html
Copyright © 2011-2022 走看看