【学习笔记】appium工作原理

 

1、主流测试框架对比:

下面对比了目前主流的几大框架:

 

(1)Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等,实现对应用程序的压力测试。由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。

(2)UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,可以用UiAutomatorviewer抓取App页面上的控件属性。

缺点:不支持Hybird App、WebApp。

(3)Espresso是Google的开源自动化测试框架;相比UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。

缺点:不能跨App。

(4)Robotium是基于Instrumentation的测试框架,目前国内外用的比较多,社区也比较活跃。

缺点:不能跨App。

2、Appium介绍

2.1 Appium特点

(1)开源,比较热门的框架,社区活跃;

(2)跨平台,支持IOS和Android;

(3)支持多语言­--python、Java等;

(4)可以用来测试原生应用、移动网页应用和混合应用;

基于appium跨平台、支持多语言等特点,满足工作中安卓和IOS端APP的UI自动化测试需求。

2.2 Appium框架

 

Appium框架由三部分组成:

(1)Client端:

即我们写的自动化脚本;Appium提供的Appium-client API是基于Webdriver协议,脚本只要实现Webdriver标准协议即可,因此支持python/java等多种语言;

(2)Appium Server:

Appium Server监听接口,接收Client端发送的指令,并转换为移动端能够识别的指令,然后发送给移动设备进行操作,再将移动端返回的操作结果返回给client端。Appium Server可以放在Client端,也可以放在云端。

(3)安卓模拟器/移动端设备:

实际中要测试的移动设备端。

2.3 Appium通信原理

 

Appium整体架构是C/S模式,在Android设备的工作过程:

(1)Client端脚本请求;

(2)Appium server将监听到的4723端口的指令,解析后通过设备的4724端口发送给Bootstrap.jar;

(2)Bootstrap监听4724端口并接收Appium server的指令;

(3)Bootstrap再通过调用UIautomator的命令来实现APP的自动化测试。UIAutomator是Android SDK自带的APP UI自动化测试Java库。

(4)最后Bootstrap将执行的结果返回给Appium server。

 

 
  
      

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值