Appium Introduction Official website and introduction
1. Features
Appium is an automated testing open source tool that supports native applications, Web applications, and hybrid applications on IOS and Android platforms.
"Mobile native apps" refers to apps written using iOS or the Android SDK (application abbreviation app).
"Mobile web Apps" refers to apps that are accessed using a mobile browser (Appium supports both Safari on iOS and Chrome on Android).
"Hybrid apps" refers to native code encapsulating Web page views-native code and Web content interaction. For example, like Phonegap, you can help developers develop applications using web technologies and then encapsulate them in native code, which is a hybrid application.
Importantly, Appium is a cross-platform tool: It allows testers to use the same set of APIs to write automated test scripts on different platforms (Ios,android), which greatly increases the reusability of code between IOS and Android test suites.
2, Appium and Selenium
The Appium class library encapsulates the standard selenium client class library, providing users with all the common JSON format selenium commands, as well as additional mobile device control-related commands, such as multitouch gestures and screen orientation.
The Appium client class Library implements an element of the mobile JSON Wire Protocol (an official extended draft of a standard protocol) and the Webdriver spec (a transport-unpredictable automation protocol that defines the Multiaction interface).
The Appium server defines an extension of the official protocol, providing a convenient interface for Appium users to perform a variety of device actions, such as installing/uninstalling the app during testing. That's why we need to appium a specific client, not a generic selenium client. Of course, the Appium client class library only adds some functionality, but in fact these functions simply extend the selenium client, so they can still be used to run a common selenium session.
3. Support multi-platform, multi-language
The Appium is cross-platform and can be run on Osx,windows and Linux desktop systems.
Appium selected the design mode of Client/server. As long as the client can send HTTP requests to the server, then it is possible for the client to be implemented in any language, which is why Appium and Selenium (webdriver) can support multiple languages;
Appium extended the Webdriver protocol without having to go back to a set of implementations. The advantage is that the previous Webdriver API can be inherited directly, the previous selenium (webdriver) All kinds of language binding can be used, eliminating the effort to develop a client for each language;
Language/Framework |
GitHub Address |
Ruby |
Https://github.com/appium/ruby_lib |
Python |
Https://github.com/appium/python-client |
Java |
Https://github.com/appium/java-client |
JavaScript (node. js) |
Https://github.com/admc/wd |
Objective C |
Https://github.com/appium/selenium-objective-c |
Php |
Https://github.com/appium/php-client |
C # (. NET) |
Https://github.com/appium/appium-dotnet-driver |
Robotframework |
Https://github.com/jollychang/robotframework-appiumlibrary |
4. Appium Working principle
Before installing and introducing Appium, it is very necessary to introduce how Appium works.
The above diagram simply shows the appium of the tool.
First, Appium supports multiple languages because it develops corresponding appium libraries for several languages of the stream. The advantage is that we can choose the language we are familiar with to write Appium scripts.
Second, Appium supports multiple platforms, including Mac and Windows. It developed the appium-server for these two big platforms.
Finally, Appium supports both Android and iOS two operating systems.
This makes appium very flexible.
When I write a appium automation script and execute it through Python (python-client) on the Mac platform, the request is first to Appium.dum (Appium-server under Mac), Appium-server through parsing, Drive iOS devices to execute Appium automation scripts.
Or, on the Windows platform, I wrote a appium automation script and executed it through Java (java-client), and the request first went to Appiumforwindow.zip (Appium-server under Window), Appium-server uses parsing to drive an Android virtual machine or a real machine to execute appium scripts.
So, you'll see that Appium's strength lies here.
5. What do I need to install?
That's the problem you care about the most, what do you need to install with Appium? In fact, from the Appium working principle you should know what needs to be installed.
Want to use Python's classmate, Dot here
Want to use the Java classmate, click here
Refer to 3, support multi-platform, multi-lingual list, choose the corresponding appium-client according to the language you choose.
Refer to 4, appium working principle of the introduction, according to your system platform to choose the corresponding appium-server.
You need an Android emulator, or an Android phone, or an iPhone.
Article from: Insect Master http://www.testclass.net/appium/appium-base-summary/
Appium Entry-level Tutorials (1)--appium Introduction