Appium是一个优秀的自动化测试工具,它具有开源,跨平台等特色,全新版本全面支持W3C WebDriver 规范,使用起来更加得心应手,方便快捷。同时,Appium作为一个开放源代码的测试自动化框架,具有极佳的兼容性,感兴趣的朋友欢迎使用。
因为Appium官方版在所有平台上都使用了标准的自动化接口, 所以你不需要以重新编译或者修改你的 app。
你可以用你喜欢的开发工具,使用任何 WebDriver 兼容的语言来编写测试用例。比如 Java, Objective-C, JavaScript with Node.js (in both callback and yield-based flavours), PHP, Python, Ruby, C#, Clojure, 或者 Perl。 可以使用标准的Selenium WebDriver API和特定语言的客户端库。
你可以使用任何测试框架。
如果没有 Appium,你就只能用 Javascript 来写 Apple 的 UIAutomation 脚本,并且只能通过Instruments 应用来运行你的测试。同样的,在 Google 的UiAutomator体系下,你只能用 Java 写你的测试案例。Appium 最终开启了跨平台原生移动自动化的可能。
appium的核心其实是一个暴露了一系列REST API的server。
这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium server再把执行结果返回给client。
在这里client其实就是发起command的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义点理解,可以把client理解成是代码,这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。
这样的设计思想带来了一些好处:
1,可以带来多语言的支持;
2,可以把server放在任意机器上,哪怕是云服务器都可以;(是的,appium和webdriver天生适合云测试)
对 NodeJS 版本的最低要求更改为 NodeJS 6
新增获取和设置剪贴板内容、获取全屏截图、应用管理等方法
通过缓存 URL 来更有效地下载应用
moveTo 触屏操作中的所有操作现在都将坐标视为绝对坐标
支持 iOS 11.3/Xcode 9.3
支持 Android P (API Level 28)
iOS:新增录屏功能
iOS:新增对复杂手势的支持
iOS:修复在模拟器上处理自定义 SSL 证书的问题
iOS:新增性能测量
Android:允许通过设置禁用通知
Android:支持 deep linking 和 Android Instant Apps