diff --git a/docs/en/about-appium/appium-clients.md b/docs/en/about-appium/appium-clients.md index ec15cc9c1d8..e6467849f58 100644 --- a/docs/en/about-appium/appium-clients.md +++ b/docs/en/about-appium/appium-clients.md @@ -1,10 +1,10 @@ ## List of client libraries with Appium server support -These libraries wrap standard Selenium client libraries to provide all the regular selenium commands dictated by the [jsonWire protocol](https://code.google.com/p/selenium/wiki/JsonWireProtocol), and add extra commands related to controlling mobile devices, such as **MultiTouch gestures** and **screen orientation**. +These libraries wrap standard Selenium client libraries to provide all the regular selenium commands dictated by the [JSON Wire protocol](https://code.google.com/p/selenium/wiki/JsonWireProtocol), and add extra commands related to controlling mobile devices, such as **multi-touch gestures** and **screen orientation**. -Appium client libraries implement the [Mobile JsonWire Protocol](https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile), and the [W3C Webdriver spec](https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html). +Appium client libraries implement the [Mobile JSON Wire Protocol](https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile) (an official draft extension to the standard protocol), and elements of the [W3C Webdriver spec](https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html) (a transport-agnostic automation spec; this is where the MultiAction API is defined). -Appium client libraries only **add** functionality, so they can still be used to run regular Selenium sessions. +The Appium server itself defines custom extensions to the official protocols, giving Appium users helpful access to various device behaviors (such as installing/uninstalling apps during the course of a test session). This is why we need Appium-specific clients, not just the 'vanilla' Selenium clients. Of course, Appium client libraries only **add** functionality (in fact, they simply extend the standard Selenium clients), so they can still be used to run regular Selenium sessions. Language/Framework | Github Repo and Installation Instructions | ----- | ----- | diff --git a/docs/en/about-appium/intro.md b/docs/en/about-appium/intro.md index f93146654c5..87426b8a60f 100644 --- a/docs/en/about-appium/intro.md +++ b/docs/en/about-appium/intro.md @@ -95,7 +95,7 @@ Appium is a server written in Node.js. It can be built and installed from source There are client libraries (in Java, Ruby, Python, PHP, JavaScript, and C#) which support Appium's extensions to the WebDriver protocol. When using Appium, you want to use these client libraries instead of your regular WebDriver -client. You can view the full list of libraries [here](/appium-clients.md). +client. You can view the full list of libraries [here](appium-clients.md). **[Appium.app](https://github.com/appium/appium-dot-app), [Appium.exe](https://github.com/appium/appium-dot-exe)**
There exist GUI wrappers around the Appium server that can be downloaded. diff --git a/docs/en/advanced-concepts/grid.md b/docs/en/advanced-concepts/grid.md index b832996746c..ccaeee5d08d 100644 --- a/docs/en/advanced-concepts/grid.md +++ b/docs/en/advanced-concepts/grid.md @@ -1,10 +1,12 @@ ## Selenium Grid -You are able to register your appium server with a local grid by using the +You are able to register your appium server with a local [Selenium grid](https://code.google.com/p/selenium/wiki/Grid2) by using the `--nodeconfig` server parameter. ```bash -> node . -V --nodeconfig /path/to/nodeconfig.json +> appium --nodeconfig /path/to/nodeconfig.json +# or, if running from source: +> node . --nodeconfig /path/to/nodeconfig.json ``` In the node config file you have to define the `browserName`, diff --git a/docs/en/advanced-concepts/hybrid.md b/docs/en/advanced-concepts/hybrid.md index b2fda29a9b0..2b96fafbe84 100644 --- a/docs/en/advanced-concepts/hybrid.md +++ b/docs/en/advanced-concepts/hybrid.md @@ -46,7 +46,7 @@ driver ```java // java -// assuming we have an initialized `driver` object for an app +// assuming we have a set of capabilities driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); Set contextNames = driver.getContextHandles(); @@ -67,7 +67,7 @@ driver.quit(); ```ruby # ruby -# assuming we have an initialized `driver` object for an app +# assuming we have a set of capabilities @driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => SERVER_URL) # I switch to the last window because its always the webview in our case, in other cases you may need to specify a window number @@ -123,7 +123,7 @@ public function testThings() $contexts = $this->contexts(); $this->assertEquals($expected_contexts, $contexts); - $this->context('WEBVIEW_1'); + $this->context($contexts[1]); $context = $this->context(); $this->assertEquals('WEBVIEW_1', $context); diff --git a/docs/en/appium-setup/android-hax-emulator.md b/docs/en/appium-setup/android-hax-emulator.md index 3c596944280..cbd9c2aa382 100644 --- a/docs/en/appium-setup/android-hax-emulator.md +++ b/docs/en/appium-setup/android-hax-emulator.md @@ -1,7 +1,7 @@ ## IntelĀ® Hardware Accelerated Execution Manager If you find the android emulator a slow and your system runs on an IntelĀ® -cpu, you can check out HAXM. HAXM let's you leverage your hardware for +cpu, you can check out HAXM. HAXM lets you leverage your hardware for virtualization, accelerating the emulator. * To install HAXM open the Android SDK Manager, you will find the package @@ -9,6 +9,6 @@ virtualization, accelerating the emulator. * You can find all relevant documentation on [Intel's website][1] * This will require an x86 emulator image * Use Intel's package to install HAXM; The Android SDK Manager appears to not - do so successfully. + do so successfully, depending on the version you might have installed [1]: http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/ diff --git a/docs/en/appium-setup/real-devices.md b/docs/en/appium-setup/real-devices.md index a2df66de981..c60b45513ef 100644 --- a/docs/en/appium-setup/real-devices.md +++ b/docs/en/appium-setup/real-devices.md @@ -19,7 +19,7 @@ necessary to test on a real device. Your app will also need to be signed. You can find information about this in the [Apple documentation](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html). Appium will attempt to install your app using Fruitstrap, but it is often easier -to pre-install your app using Xcode to ensure there are no problems. +to pre-install your app using Xcode to ensure there are no problems (see the [iOS deploy](ios-deploy.md) doc for more information). ### Running your tests with Appium @@ -65,4 +65,6 @@ the capabilities that you can use. Hooray! There's nothing extra to know about testing real Android devices: it works exactly the same as testing on emulators. Make sure that your device -can connect to ADB and has Developer Mode enabled. +can connect to ADB and has Developer Mode enabled. For testing Chrome on a real +device, you're responsible for ensuring that Chrome of an appropriate version +is installed. diff --git a/docs/en/appium-setup/running-on-linux.md b/docs/en/appium-setup/running-on-linux.md index 2d2d25fc42b..8679212436b 100644 --- a/docs/en/appium-setup/running-on-linux.md +++ b/docs/en/appium-setup/running-on-linux.md @@ -28,17 +28,16 @@ Appium checkout to install all the dependencies. ### Running Appium To run tests on Linux, you will need to have the Android Emulator booted and -running an AVD with API Level 17 or greater. Then run Appium on the command -line using node.js: - - node . +running an AVD with API Level 17 or greater. Then run Appium (`appium`) after +installing via NPM, or `node .` in the source directory if running from source. See the [server documentation](server-args.md) for all the command line arguments. ### Notes -* There exists a hardware accelerated emulator for android, it has it's own +* There exists a hardware accelerated emulator for android, it has its own limitations. For more information you can check out this [page](android-hax-emulator.md). -* Make sure that `hw.battery=yes` in your AVD's `config.ini`. +* Make sure that `hw.battery=yes` in your AVD's `config.ini`, if you want to + run any of the Appium tests diff --git a/docs/en/appium-setup/running-on-osx.md b/docs/en/appium-setup/running-on-osx.md index 2e22bf38c73..d1811b3a57f 100644 --- a/docs/en/appium-setup/running-on-osx.md +++ b/docs/en/appium-setup/running-on-osx.md @@ -4,11 +4,11 @@ Appium on OS X supports iOS and Android testing. ### System setup (iOS) -* Appium requires Mac OS X 10.7, but 10.8 is recommended. +* Appium requires Mac OS X 10.7, but 10.8 or 10.9 is recommended. * Make sure you have Xcode and the iOS SDK(s) installed. (Appium currently - supports Xcode 4.6.3 for iOS up to 6.1 and Xcode 5 for iOS 7.0 and 7.1. Note - that testing against iOS versions below 7.0 using Xcode 5 is not recommended. - See the next section for more information.) + supports Xcode 4.6.3 for iOS up to 6.1 and Xcode 5.x for iOS 7.0 and 7.1. + Note that testing against iOS versions below 7.0 using Xcode 5 is not + recommended. See the next section for more information.) * You need to authorize use of the iOS Simulator. If you are running Appium from NPM, you'll do this by running `sudo authorize_ios` (`authorize_ios` is a binary made available by the Appium npm package). If you're running Appium