官网过一遍,有个大概:概述、历史、getting started、API、appium desktop
先聊八卦,小伙有前途:
理念
Introduction to Appium 概述appium主张以及如何实现——
- You shouldn’t have to recompile your app or modify it in any way in order to automate it.
- You shouldn’t be locked into a specific language or framework to write and run your tests.
- A mobile automation framework shouldn’t reinvent the wheel when it comes to automation APIs.
- A mobile automation framework should be open source, in spirit and practice as well as in name!
- iOS 9.3 and above: Apple’s XCUITest
- iOS 9.3 and lower: Apple’s UIAutomation
- Android 4.2+: Google’s UiAutomator/UiAutomator2
- Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by bundling a separate project, Selendroid)
- Windows: Microsoft’s WinAppDriver
Driver Doc:
- The XCUITest Driver (for iOS and tvOS apps)
- The UiAutomator2 Driver (for Android apps)
- The Windows Driver (for Windows Desktop apps)
- The Mac Driver (for Mac Desktop apps)
- (BETA) The Espresso Driver (for Android apps)
核心概念:
- Client/Server Architecture: C/S架构
- Session:建立会话后使用sessionID进行后续的命令传递
- Desired Capabilities:key-value的map结构进行环境定义
- Appium Server:NodeJS实现的server端
- Appium Clients:各个语言的client端
协议
- selenium webdriver api selinium端的应用
- webdriver known as the JSON Wire Protocol, 上面的成为事实标准,推动成为W3C协议草案
- Mobile JSON Wire Protocol Specification 移动端的JSON Wire Protocol
comments powered by DisqusWebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.