二、appium的原理

原生应用:指那些用IOS,Android,或者windows SDKs编写的应用

移动web应用:是移动端浏览器访问对的应用(appium支持ios上的Safari,chrome和android上的内置浏览器)

混合应用:带有一个webview的包装器,用来和web内容交互的原生空间

一、appium是一个自动化开源工具,支持IOS,Android,windows桌面平台上的原生,移动web和混合应用的自动化;

appium是跨平台的,允许你用同样的api对多个平台(IOS,Android,windows)写测试,做到字ios,Android,windows测试套件之间复用代码

2、appium为什么是跨平台的

appium使用了系统自带的自动化框架,ios9.3以及以上:苹果的XCUITest,ios9.3以下:苹果的UIAumation(已弃用),

Android4.3+:谷歌的UIAotomat

appium把系统本身提供的框架包进一套API–webDriver API中,webDriver规定了一个客户端-服务端协议,按照这中客户端-服务端架构,可以使用任何你想用的测试运行起和测试框架,客户端程序库不是一个简单的http客户端;

appium支持多种语言就是我们写的脚本会转化成命令发送到server.server会调用WDA操作app

二、appium的概念

1、客户端/服务器架构

appium的核心是一个暴露的rest api的web服务器,它接受来自客户端的连接,监听命令并在移动设备上执行,答复http响应来描述执行结果;

appium的服务端–appium server,默认端口4723

appium desktop—appium图形化工具,可以启用appium,管理appium

appium的客户端:针对各个语言都有自己对应的客户端

java:java-client

javaScript(Node.js):wd

2、会话(session)

自动化始终在一个会话的上下文中执行,这些客户端程序库已各自的方式发起与服务器的会话,但最终都会发给服务器一个POST/session请求,请求包含一个被称为deired capabilities的json对象,这是服务器就会开启这个自动化会话,并返回一个用于发送后续的会话ID

3、预期能力(Desired Capabilities)

是发送给appium服务器的键值对集合,它告诉服务器我们要求启动什么类型的自动化会话,也有很多能力可以修改服务器在自动化过程中的行为,如可以修改platformName为ios

platformName:需要进行自动化操作的平台名称

platformVersion:需要进行自动化操作的平台版本

deviceName:自动化设备

app:需要进行自动化的app路径

automationName:需要的驱动名称

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值