在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。

UiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库。

1、UiAutomator——基于UIAutomation的用户界面自动化测试框架,可以跨应用工作;

2、UiAutomator只能测试Android native app

3、主要功能跟Appium类似

4、可以跨应用测试,Google原生,其稳定性和后续的维护更新可以得到保障,运行时也有更多的权限

5、可以跨进程操作;

6、运行速度快;

7、UiAutomator框架对外提供的API,主要有UiDevice、UiSelector、UiObject、UiCollection和UiScrollable等

8、使用uiautomatorviewer.bat来检索手机界面视图

9、支持的语言可以有python、java等,google推出的底层框架使用java编写的,但是也有python封装的底层框架,因此也可使用python进行自动化测试 Appium——跨平台,允许采用同一套API在不同的平台(IOS,Android)上编写测试代码 Appium其实是找了一个中间件Bootstrap,Bootstrap是一个Uiautomator的测试脚本,UiAutomator可以正常运行它,它也可以正常的使用UiAutomator的方法,这个就是Appium的命令可以转换成UiAutomator命令的关键。

Appium可以跨平台跨语言,将脚本通过Appiumserver发送给Bootstrap,然后再运行,所以,相当于Appium封装了UiAutomator,功能更强大。

1、Appium是基于UIAutomator框架实现的一个开源、跨平台的测试框架。支持跨平台它允许测试人员在不同的平台iOS或Android使用同一套API来写自动化测试脚本,可以增加iOS和Android测试套件间代码的复用性。支持多语言如:java、python;

2、Appium测试相当于黑盒测试,测试UI逻辑正确性获取一个AppiumDriver对象。该对象只是有很多findElements()的方法,获取到UI元素。UI元素是WebElement,这个类提供的方法基本是获取信息为主,比如获取name,class,location,text,isSlected,isTouched等信息。这个测试框架,只是测试UI逻辑的正确性;

3、在运行脚本上执行速度较慢,没有uiautomator的执行速度快;

4、appium使用的是Client/Server的设计模式,实现跨平台,多语言。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,通过Python(python-client )编写了一个appium自动化脚本并执行,appium-Server通过解析,驱动iOS设备来执行appium自动化脚本。或者,我在Windows平台上,通过Java( java-client )编写了一个appium自动化脚本并执行,请求会首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server通过解析,驱动Android虚拟机或真机来执行appium脚本。所以,你会看到appium的强大之处就在于此。

原文:https://blog.csdn.net/yongwan5637/article/details/79879774

自动化测试框架对比(UIAutomator、Appium)的更多相关文章

  1. Android自动化测试框架对比

    1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,AP ...

  2. 主流App自动化测试框架对比

        1.主流App自动化测试框架对比 2.Appium自动化测试框架 官方网址:http://appium.io/ 跨架构:支持原生.混合以及web移动应用 跨平台:Android & I ...

  3. 移动APP自动化测试框架对比

    转自微信公众号:腾讯移动品质中心TMQ 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动 ...

  4. 自动化测试框架TestNG

    测试框架有很多,比如常用的 UI自动化测试框架 ①.java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/ ...

  5. 自动化测试框架 hierarchyViewer、Uiautomator、Appium的区别比较!

    一.HierarchyViewer: 优点:1)能够可视化的角度直观地获得UI布局设计结构和各种属性的信息 2)使用hierarchyviewer.bat来检索手机界面布局 缺点:1)稳定性差,出现过 ...

  6. MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的macbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓 ...

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

    UIAutomator2.Appium.Robotium搭建环境与框架对比 一.框架介绍 Appium 特点 appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生 ...

  8. 『与善仁』Appium基础 — 8、Appium自动化测试框架介绍

    目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...

  9. Windows下部署Appium教程(Android App自动化测试框架搭建)

    摘要: 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios.android.firefox os: 4,a ...

随机推荐

  1. spring boot websocket stomp 实现广播通信和一对一通信聊天

    一.前言 玩.net的时候,在asp.net下有一个叫 SignalR 的框架,可以在ASP .NET的Web项目中实现实时通信.刚接触java寻找相关替代品,发现 java 体系中有一套基于stom ...

  2. Linux常用的命令以及配置

    cat /etc/group nobody:x:500:用户组 : 口令 : 用户组编号 #查看用户信息 stunnel4:x:118:123::/var/run/stunnel4:/usr/sbin ...

  3. vue+axios完美实现前端路由拦截

    一.路由拦截 1.首先在router的index.js里配置一个自定义字段requireAuth,用该字段来判断进入该路由是否需要登录.如果已经登陆则进入该路由,反之则进入登录页面. 如图是路由配置: ...

  4. 使用Autoencoder进行降维

    #coding=utf-8import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples.tutori ...

  5. C 语言 保留的关键字

    auto,break,case,char,const,continue, default,do,double,else,enum,extern, float,for,goto,if,int,long, ...

  6. Flask框架里的cookie和session

    # -*- encoding: utf-8 -*- #cookie 相关的操作,依赖与make_response库,调用cookie依赖request模块 from flask import Flas ...

  7. 2019“嘉韦思杯”3.30初赛一部分Write Up

    同学们TQL.佩服李长兴同学的超神瓜皮思维. 一.飞虎队(希尔密码) 本题是我今天大部分时间的花费处.先百度学习了希尔密码,然后尝试手动计算逆矩阵和矩阵乘法,还求助于线性代数课本,可谓苦不堪言. 做题 ...

  8. 树莓派3使用openSUSE Ports 42.3 驱动GPIO注意事项

    安装好opensuse 42.3以后,安装wiringPi库. 由于/proc/cpuinfo文件缺少“Hardware”信息,导致出现如下错误: Oops: Unable to determine ...

  9. python Excel数据导出

    import pymysql,os,time,xlwtpymysql.install_as_MySQLdb() try: #创建一个excel工作簿,编码utf-8,表格中支持中文 wb=xlwt.W ...

  10. js:一些基础

    JavaScript 基础(一)   JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <h ...