zoukankan      html  css  js  c++  java
  • UIAutomator2、Appium、Robotium搭建环境与框架对比

    UIAutomator2、Appium、Robotium搭建环境与框架对比


    一.框架介绍

    Appium

    特点

    appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

    • “移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。
    • “移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。
    • “混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

    重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。

    安装Appium

    搭建环境比较繁琐:JDK + Android-sdk + Node.Js + Appium + Python_Client + 环境变量配对

    [root@BenLam-vm_0 ~]# appium -v
    [Appium] Welcome to Appium v1.8.1
    

    通过命令启动 Appium

    [root@BenLam-vm_0 ~]# appium_services
    (node:7224) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the
    Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    [Appium] Welcome to Appium v1.8.1
    [Appium] Appium REST http interface listener started on 0.0.0.0:4723
    

    Python 客户端安装

    [root@BenLam-vm_0 ~]# pip install Appium-Python-Client
    

    Robotium

    特点

    obotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。
    Robotium 核心类是Solo 通过Solo 类可以对控件进行各种操作

    下载Robotium

    搭建环境:JDK + Android-sdk + Android-Studio + Robotium

    [root@BenLam-vm_0 ~]# wget http://dl.bintray.com/robotium/generic/:robotium-solo-5.6.3.jar
    done~
    [root@BenLam-vm_0 ~]# mv robotium-solo-5.6.3.jar 拷到目标libs文件夹(自行创建libs文件夹)
    

    启动Robotium

    启动 Android-Studio

    [root@BenLam-vm_0 ~]# Android-Studio
    # 创建junit test case,选择junit4,并输入类名,点击finish
    # 打开新建的测试类,修改继承ActivityInstrumentationTestCase2,并创建该类的构造函数,引用方法setUp()和tearDown()
    # 编写完测试用例后,连上设备,右击测试类,选择Android junit Test,此时就会开始执行测试用例了。
    # Project --> Properties --> Java Build Path --> Order and Export
    

    UIAutomator2

    特点

    UIAutomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。
    它封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他允许测试人员直接在PC上编写Python的测试代码,操作手机应用,完成自动化,大大提高了自动化代码编写的效率。

    安装UIAutomator2

    [root@BenLam-vm_0 ~]# pip install uiautomator2
    

    初始化

    [root@BenLam-vm_0 ~]# adb connect Your_Android_ip
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    connected to 10.0.1.10:5555
    [root@BenLam-vm_0 ~]# python -m uiautomator2 init
    success
    

    测试链接状态

    import uiautomator2
    
    d = uiautomator2.connect('10.0.1.10')
    print(d.info)
    

    二.优缺点对比

    测试点AppiumRobotiumUiAutomator
    是否支持设备无源码测试(黑盒测试)
    能否进行跨应用测试
    是否是谷歌原生
    支持编程语言 所有语言 Java Java
    是否有签名一致的问题
    是否需要解决中文输入问题
    是否需要API17及以上
    Junit支持版本 Junit3Junit4 Junit3 Junit4
    是否支持webview
    支持平台 AndroidIOS Android Android
    作者:GI-JOE
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [Swift通天遁地]三、手势与图表-(9)制作五彩缤纷的气泡图表
    hdu2289 Cup(二分)
    Makefile学习(三)[第二版]
    CABasicAnimation 基本动画
    iOS_20_微博自己定义可动画切换的导航控制器
    yispider 开源小说採集器 (来源http://git.oschina.net/yispider/yispider 我的改动版由于他的我无法跑)
    谈谈C++私有继承
    深入struts2.0(七)--ActionInvocation接口以及3DefaultActionInvocation类
    STL 之 list源码自行实现(iterator)
    二分lower_bound()与upper_bound()的运用
  • 原文地址:https://www.cnblogs.com/BenLam/p/10411322.html
Copyright © 2011-2022 走看看