浅谈Appium工作原理

一、 Appium简介
Appium是一个开源工具,可用于在iOS、Android和Windows上实现本机、移动网络和混合应用程序的UI自动化测试,使用WebDriver协议驱动iOS,Android和Windows应用程序。

二、 Appium特点

  1. 开源免费。
  2. 跨平台:允许使用相同的API针对多个平台(iOS、Android、Windows)编写测试脚本。
  3. 支持多种类型:可以测试原生的、混合的、以及移动端的web项目。
  4. 支持多种编程语言:可以用任何编程语言编写的Appium客户端向Appium服务端发送HTTP请求。

三、 Appium架构组成
Appium使用的是C/S架构(客户端/服务器),主要由两部分组成:

  1. Appium客户端:编写的自动化脚本(支持多种语言,如:python、java等),使用JSON Wire协议与Appium服务端进行通信。
  2. Appium服务端:使用node.js编写的HTTP服务器,用于处理Appium客户端传送过来的指令。

四、 Appium相关组件
在介绍Appium工作原理前,让我们先来简单了解以下几个组件:

  1. UIAutomator:由谷歌推出的一款UI测试框架,提供API对Android系统进行一系列的自动化测试操作,Android 4.2之后系统自带的UI自动化测试工具。
  2. UIAutomation:由苹果公司发布的一个测试框架,主要用于自动化测试iOS和OS X应用的UI交互情况,iOS系统自带的UI自动化测试工具。
  3. Bootstrap.jar:Appium在Android上基于UIAutomator实现的测试代理程序,可以调用UIAutomator的方法实现一系列UI操作。
  4. Bootstrap.js:Appium在iOS上基于UIAutomation实现的测试代理程序,可以调用UIAutomation的方法实现一系列UI操作。

五、 UiAutomator APIs
UiAutomator对外提供了很多方法,便于UI自动化测试调用执行。
UiDevice 操作物理按键、拖拽,滑动,通知栏,截屏等,如pressHome,pressRecentApps,pressKeyCode,waitForIdle,drag,swipe,isScreenOn,openNotification,openQuickSetting等
UiSelector 可通过Text,description,class,package,index等属性定位。获取到的UiSelector可通过UiObject封装后进行操作
UiObject click,drag,swipe,setText,属性获取,是否存在等方法
UiCollection 是UiObject的子类,是控件的集合,如计算器是数字按键
UiScrollable 是UiObject的子类,滚动控件

六、 Bootstrap类的实现

package io.appium.android.bootstrap;  
import io.appium.android.bootstrap.exceptions.SocketServerException;  
import com.android.uiautomator.testrunner.UiAutomatorTestCase;  
/** 
 * The Bootstrap class runs the socket server. uiautomator开发的脚本,可以直接在pc端启动 
 */  
public class Bootstrap extends UiAutomatorTestCase {
      
  public void testRunServer() {
     
    SocketServer server;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值