1 | ## Appium
|
2 |
|
3 | [![NPM version](https://badge.fury.io/js/appium.svg)](https://npmjs.org/package/appium)
|
4 | [![Dependency Status](https://david-dm.org/appium/appium.svg)](https://david-dm.org/appium/appium)
|
5 | [![devDependency Status](https://david-dm.org/appium/appium/dev-status.svg)](https://david-dm.org/appium/appium#info=devDependencies)
|
6 |
|
7 | [![Monthly Downloads](https://img.shields.io/npm/dm/appium.svg)](https://npmjs.org/package/appium)
|
8 |
|
9 | [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
|
10 | [![Greenkeeper badge](https://badges.greenkeeper.io/appium/appium.svg)](https://greenkeeper.io/)
|
11 |
|
12 | Appium is an open source, cross-platform test automation tool for native,
|
13 | hybrid and mobile web and desktop apps. We support simulators (iOS), emulators
|
14 | (Android), and real devices (iOS, Android, Windows, Mac).
|
15 |
|
16 | Want to skip straight to the action? Check out our [getting
|
17 | started](/docs/en/about-appium/getting-started.md) doc.
|
18 |
|
19 | ### Supported Platforms
|
20 |
|
21 | Appium supports app automation across a variety of platforms, like iOS,
|
22 | Android, and Windows. Each platform is supported by one or more "drivers",
|
23 | which know how to automate that particular platform. Choose a driver below for
|
24 | specific information about how that driver works and how to set it up:
|
25 |
|
26 | * iOS
|
27 | * The [XCUITest Driver](/docs/en/drivers/ios-xcuitest.md)
|
28 | * (DEPRECATED) The [UIAutomation Driver](/docs/en/drivers/ios-uiautomation.md)
|
29 | * Android
|
30 | * (BETA) The [Espresso Driver](/docs/en/drivers/android-espresso.md)
|
31 | * The [UiAutomator2 Driver](/docs/en/drivers/android-uiautomator2.md)
|
32 | * (DEPRECATED) The [UiAutomator Driver](/docs/en/drivers/android-uiautomator.md)
|
33 | * (DEPRECATED) The [Selendroid Driver](/docs/en/drivers/android-selendroid.md)
|
34 | * The [Windows Driver](/docs/en/drivers/windows.md) (for Windows Desktop apps)
|
35 | * The [Mac Driver](/docs/en/drivers/mac.md) (for Mac Desktop apps)
|
36 |
|
37 | ### Why Appium?
|
38 |
|
39 | 1. You don't have to recompile your app or modify it in any way, due
|
40 | to use of standard automation APIs on all platforms.
|
41 | 2. You can write tests with your favorite dev tools using any
|
42 | [WebDriver](https://w3c.github.io/webdriver/webdriver-spec.html)-compatible
|
43 | language such as Java, Objective-C, JavaScript (Node), PHP, Python, Ruby,
|
44 | C#, Clojure, or Perl with the Selenium WebDriver API and [language-specific
|
45 | client libraries](/docs/en/about-appium/appium-clients.md).
|
46 | 3. You can use any testing framework.
|
47 | 4. Appium has built-in mobile web and hybrid app support. Within the same
|
48 | script you can switch seamlessly between native app automation and webview
|
49 | automation, all using the WebDriver model that's already the standard for
|
50 | web automation.
|
51 |
|
52 | Investing in the
|
53 | [WebDriver](https://w3c.github.io/webdriver/webdriver-spec.html) protocol means
|
54 | you are betting on a single, free and open protocol for testing that has become
|
55 | a web standard. Don't lock yourself into a proprietary stack.
|
56 |
|
57 | For example, if you use Apple's XCUITest library without Appium you can only
|
58 | write tests using Obj-C/Swift, and you can only run tests through Xcode.
|
59 | Similarly, with Google's UiAutomator or Espresso you can only write tests in
|
60 | Java. Appium opens up the possibility of true cross-platform native app
|
61 | automation, for mobile and beyond. Finally!
|
62 |
|
63 | If you're new to Appium, or want a fuller description of what this is all
|
64 | about, please read our [Introduction to Appium
|
65 | Concepts](/docs/en/about-appium/intro.md).
|
66 |
|
67 | ### Requirements
|
68 |
|
69 | Your environment needs to be set up for the particular platforms that you want
|
70 | to run tests on. Each of the drivers above documents the requirements for their
|
71 | particular brand of automation. At a minimum, you will need to be able to run
|
72 | Node.js 6+.
|
73 |
|
74 | ### Get Started
|
75 |
|
76 | Check out our [Getting Started](/docs/en/about-appium/getting-started.md) guide
|
77 | to get going with Appium.
|
78 |
|
79 | There is also sample code that contains [many examples of tests in a variety
|
80 | of different languages](https://github.com/appium/sample-code/tree/master/sample-code)!
|
81 |
|
82 | ### Documentation
|
83 |
|
84 | For prettily-rendered docs, please visit [appium.io](http://appium.io). You can
|
85 | always find the full list of Appium doc pages at [Appium's GitHub
|
86 | Repo](https://github.com/appium/appium/tree/master/docs/en/) as well.
|
87 |
|
88 | ### Contributing
|
89 |
|
90 | Please take a look at our [contribution documentation](CONTRIBUTING.md)
|
91 | for instructions on how to build, test and run Appium from source.
|
92 |
|
93 | ### Roadmap
|
94 |
|
95 | Interested in where Appium is heading in the future? Check out the [Roadmap](ROADMAP.md)
|
96 |
|
97 | ### Project History, Credits & Inspiration
|
98 |
|
99 | * [History](http://appium.io/history)
|
100 | * [Credits](/docs/en/contributing-to-appium/credits.md)
|
101 |
|
102 | ### User Forums
|
103 |
|
104 | Announcements and debates often take place on the [Discussion
|
105 | Group](https://discuss.appium.io), be sure to sign up!
|
106 |
|
107 | ### Troubleshooting
|
108 |
|
109 | We put together a [troubleshooting
|
110 | guide](/docs/en/writing-running-appium/other/troubleshooting.md). Please have a look
|
111 | here first if you run into any problems. It contains instructions for checking
|
112 | a lot of common errors and how to get in touch with the community if you're
|
113 | stumped.
|
114 |
|
115 | ### License
|
116 |
|
117 | [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_large)
|