appium自动化记学习记录

官方appium文档
https://appium.io/docs/en/about-appium/getting-started/index.html

引用参考
https://www.cnblogs.com/ngngng/p/15338944.html

appium uiautomator2 airtest比较
appium(android)
支持Android、ios、H5自动化测试(集成了UiAutomator、UiAutomation框架)
最底层实际上是基于uiautomator2的,在上层封装了一层,使得可以使用webdriver的方式编写自动化脚本
uiautomator2
只针对原生的android应用
airtest
只支持pthon语言
Airtest与Poco本质上是python的两个第三方库
该框架最突出的优点是图像识别,还没阅读过源码,看到相关资料,推断出它就是OpenCV(图像识别)+ uiautomator实现的

**

Appium 介绍

**
Appium 是一个开源工具,用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原生、移动 Web 和混合应用。「原生应用」指那些用 iOS、 Android 或者 Windows SDKs 编写的应用。「移动 Web 应用」是用移动端浏览器访问的应用( Appium 支持 iOS 上的 Safari 、Chrome 和 Android 上的内置浏览器)。「混合应用」带有一个「webview」的包装器——用来和 Web 内容交互的原生控件。类似于 Apache Cordova 项目,创建一个混合应用使得用 Web 技术开发然后打包进原生包装器创建一个混合应用变得容易了。

重要的是,Appium 是跨平台的:它允许你用同样的 API 对多平台(iOS、Android、Windows)写测试。做到在 iOS、Android 和 Windows 测试套件之间复用代码。

了解 Appium “支持”这些平台意味着什么、有哪些自动化方式的详细信息,请参见 Appium 支持的平台。

Appium 的理念
Appium 旨在满足移动端自动化需求的理念,概述为以下四个原则:

你不应该为了自动化而重新编译你的应用或以任何方式修改它。
你不应该被限制在特定的语言或框架上来编写运行测试。
移动端自动化框架不应该在自动化接口方面重造轮子。
移动端自动化框架应该开源,在精神、实践以及名义上都该如此。
Appium 的设计
那么 Appium 项目的架构是如何实现这些理念的呢?为了实现理念#1,我们使用了系统自带的自动化框架。这样,我们不需要把 Appium 特定的或者第三方的代码编译进你的应用,这意味着你测试使用的应用与最终发布的应用并无二致。我们使用以下系统自带的自动化框架:

iOS 9.3 及以上: 苹果的 XCUITest
iOS 9.3 及以下: 苹果的 UIAutomation
Android 4.3+: 谷歌的 UiAutomator / UiAutomator2
Android 2.3+: 谷歌的 Instrumentation. (通过绑定独立的项目—— Selendroid 提供对 Instrumentation 的支持)
Windows: 微软的 WinAppDriver
为了实现理念#2,我们把这些系统本身提供的框架包装进一套 API —— WebDriver API 中。WebDriver(也叫「Selenium WebDriver」)规定了一个客户端-服务器协议(称为 JSON Wire Protocol),按照这种客户端-服务器架构,可以使用任何语言编写的客户端向服务器发送适当的 HTTP 请求。已经有为 各个流行编程语言编写的客户端 。这也意味着你可以自由使用任何你想用的的测试运行器和测试框架;客户端程序库不过是一个简单的 HTTP 客户端,可以以任何你喜欢的方

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值