# Appium 1.7.0 Released

**URL:** <https://discuss.appium.io/t/appium-1-7-0-released/18760>\
**Category:** News\
**Created:** [September 18, 2017, 6:22pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760 "2017-09-18T18:22:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlipps](https://discuss.appium.io/user_avatar/discuss.appium.io/jlipps/32/1874_2.png) [@jlipps](https://discuss.appium.io/u/jlipps)\
**Post date:** [September 18, 2017, 6:22pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/1 "2017-09-18T18:22:45Z")

</div>

Hi everyone, we’ve got a fantastic release ready for you, with tons of stuff! Want to try it out right now? Head to your terminal and get the latest from NPM:

```auto
npm uninstall -g appium
npm install -g appium

```

### Full Changelog

_(Taken from the official [Release Notes](https://github.com/appium/appium/releases/tag/v1.7.0) on GitHub)_

**Note:** This is a feature release, marking two major changes:

- Support iOS 11 through Xcode 9 beta 6
- Support multiple simultaneous sessions in Android and iOS (9+)

**Known Issues:**

- Android
  - Webviews on Android O do not work because of a bug in Chromedriver. We  
are working on a workaround. Chrome sessions still work

- iOS
  - Touch ID enrollment on simulators in Xcode 9 does not work because of an  
issue with AppleScript
  - Scaling simulators with Xcode 9 does not work
  - Simulators in Xcode 9 produce no meaningful device logs
  - Parallel Safari/Webview sessions are not working due to an Apple bug

#### General

- Fix handling of sending keys to elements in recent versions of Selenium
- Allow `app` capability that is a url to have query parameters
- Begin to allow multiple device support in situations where it is possible  
(e.g., iOS under Xcode 9)
- Add `isHeadless` capability to allow running simulator/emulator with no UI

#### iOS

- Add command to upload media to simulator
- Fix reliability of touch ID functionality
- Fix detection of system apps
- Update atoms used for MobileSafari automation to those of Selenium 3.5.3
- Add `realDeviceLogger` capability to allow specification of what program to  
use to capture logs on real device
- Fix handling of `enablePerformanceLogging` capability in Safari tests
- Fix offset when Safari on an iPad has multiple tabs

#### iOS - XCUITest

- Support for latest Beta of iOS 11 (Xcode 9 beta 6)
- Multiple device support
- Fix handling of bundle id on simulators
- Make `nativeWebTap` a setting as well as a desired capability
- Allow `nativeWebTap` to work on real devices
- Do not try to uninstall app before installing on real device, which was causing  
many issues
- Fix clearing of text fields
- Change behavior of `useNewWDA`: if `true`, forces uninstall of any existing  
WebDriverAgent app on device. Set it to `true` if you want to apply different  
startup options for WebDriverAgent for each session. Real devices require  
WebDriverAgent client to run for as long as possible without reinstall/restart  
to avoid issues. The `false` value will try to detect currently running WDA  
listener executed by previous testing session(s) and reuse it if possible,  
which is highly recommended for real device testing and to speed up suites of  
multiple tests in general. A new WDA session will be triggered at the default  
URL ([http://localhost:8100](http://localhost:8100)) if WDA is not listening and `webDriverAgentUrl`  
capability is not set.
- Allow setting url in native context
- Fix screenshot functionality

#### Android

- Add `remoteAdbHost` capability to specify the host on which adb is running, if  
it is not localhost
- Add methods to start and stop recording the screen
- Fix screenshot commands
- Skip setting of mock location for emulators
- Add methods for emulator phone capacity: `sendSMS`, `gsmCall`, `gsmSignal`,  
`gsmVoice`, `powerAC`, `powerCapacity`, and `networkSpeed`
- Fix cleanup of adb port forwarding during Chrome sessions
- Fix error where package name would be appended to fully qualified activity  
name and package finding would then fail
- Properly handle bootstrap failure on launch
- Make sure correct logger is used for bootstrap

#### Android - UIAutomator 2

- Fix handling of `adbPort` capability
- Fix coverage handling
- Handle pressing and long pressing key codes
- Enable `nativeWebScreenshot` capability
- Fix restoring of IME when `unicodeKeyboard`/`resetKeyboard` capabilities are  
used
- Add `disableWindowAnimation` capability to launch instrumentation with no  
animation
- Correctly start ChromeDriver session for Chrome session
- Allow getting `password` attribute from elements

---

<div class="post-metadata">

**Author:** ![jlipps](https://discuss.appium.io/user_avatar/discuss.appium.io/jlipps/32/1874_2.png) [@jlipps](https://discuss.appium.io/u/jlipps)\
**Post date:** [September 18, 2017, 6:23pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/2 "2017-09-18T18:23:14Z")

</div>



---

<div class="post-metadata">

**Author:** ![stephen12](https://discuss.appium.io/letter_avatar_proxy/v4/letter/s/46a35a/32.png) [@stephen12](https://discuss.appium.io/u/stephen12)\
**Post date:** [September 20, 2017, 6:37pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/3 "2017-09-20T18:37:41Z")

</div>

Please share multiple device support tutorial or documentation

---

<div class="post-metadata">

**Author:** ![micahwilliams12](https://discuss.appium.io/user_avatar/discuss.appium.io/micahwilliams12/32/4145_2.png) [@micahwilliams12](https://discuss.appium.io/u/micahwilliams12)\
**Post date:** [September 21, 2017, 11:24am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/4 "2017-09-21T11:24:25Z")

</div>

Java client for Appium Mobile Webdriver

```
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>5.0.3</version>
</dependency>

```

Learn more here: [Appium Support](https://mindmajix.com/appium-training)

---

<div class="post-metadata">

**Author:** ![VikramVI](https://discuss.appium.io/user_avatar/discuss.appium.io/vikramvi/32/116_2.png) [@VikramVI](https://discuss.appium.io/u/VikramVI)\
**Post date:** [September 22, 2017, 7:44am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/5 "2017-09-22T07:44:16Z")

</div>

@micahwilliams12 latest Java Client version is 5.0.3 ( [https://github.com/appium/java-client/tags](https://github.com/appium/java-client/tags) )

From where you found 1.7.0 ?

---

<div class="post-metadata">

**Author:** ![VikramVI](https://discuss.appium.io/user_avatar/discuss.appium.io/vikramvi/32/116_2.png) [@VikramVI](https://discuss.appium.io/u/VikramVI)\
**Post date:** [September 22, 2017, 8:02am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/6 "2017-09-22T08:02:52Z")

</div>

Hi All,

Can someone please clarify difference between fixes related to **Android** VS **Android - UIAutomation 2** as per the release notes ?

Per my understanding **UIAutomator 2** belongs to Google and am not sure it appium team can do fixes in that project directly.

Same query holds for **iOS** VS **iOS - XCUITest** fixes

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![oscheller87](https://discuss.appium.io/letter_avatar_proxy/v4/letter/o/a6a055/32.png) [@oscheller87](https://discuss.appium.io/u/oscheller87)\
**Post date:** [September 22, 2017, 12:02pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/7 "2017-09-22T12:02:25Z")

</div>

For me this worked out of the box. Just start two UI tests on the same Appium server port.

@Appium team: This is a great new feature. Thank you for this

---

<div class="post-metadata">

**Author:** ![sathaiahc](https://discuss.appium.io/user_avatar/discuss.appium.io/sathaiahc/32/3914_2.png) [@sathaiahc](https://discuss.appium.io/u/sathaiahc)\
**Post date:** [September 24, 2017, 4:04am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/8 "2017-09-24T04:04:06Z")

</div>

@micahwilliams12 Whats corresponding Python Appium Client version for java-client version 5.0.3?  
I am facing issue with save\_screenshot in iOS 11.  
This got fixed after updating libimobiledevice. Here are the steps:  
brew uninstall libimobiledevice  
brew install --HEAD libimobiledevice

---

<div class="post-metadata">

**Author:** ![michaelb](https://discuss.appium.io/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@michaelb](https://discuss.appium.io/u/michaelb)\
**Post date:** [September 24, 2017, 4:27pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/9 "2017-09-24T16:27:04Z")

</div>

Hi guys,

the SQAEvangelist test automation framework is using the java client and always works great. Thanks again for the great work!

We have been noticing an issue not mentioned here: Screenshots not working with the latest IOSDriver and Xcode 9 / iOS 11 and java client 5.0.3. Is anyone else experiencing the problem or is there another technique to do this now?

---

<div class="post-metadata">

**Author:** ![reach2jeyan](https://discuss.appium.io/letter_avatar_proxy/v4/letter/r/b77776/32.png) [@reach2jeyan](https://discuss.appium.io/u/reach2jeyan)\
**Post date:** [September 25, 2017, 8:10am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/10 "2017-09-25T08:10:37Z")

</div>

Is there a ruby client for running tests on multiple simulators in iOS? I am using Xcode 9beta with appium 1.7.0 to run my cucumber+ruby tests .

It would be very helpful if someone can share me a documentation for the same.

Thanks

---

<div class="post-metadata">

**Author:** ![B3abdelkader](https://discuss.appium.io/user_avatar/discuss.appium.io/b3abdelkader/32/3916_2.png) [@B3abdelkader](https://discuss.appium.io/u/B3abdelkader)\
**Post date:** [September 25, 2017, 8:58am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/11 "2017-09-25T08:58:54Z")

</div>

**Android:** “Add methods to start and stop recording the screen”

- Hello; Can i get any exemple or documentation for this? ty!

@Appium team: Great up. Ty!

---

<div class="post-metadata">

**Author:** ![Dmitry\_Kopylov](https://discuss.appium.io/user_avatar/discuss.appium.io/dmitry_kopylov/32/3919_2.png) [@Dmitry\_Kopylov](https://discuss.appium.io/u/Dmitry_Kopylov)\
**Post date:** [September 26, 2017, 11:50am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/12 "2017-09-26T11:50:34Z")

</div>

Hello, can you provide more details - I’m trying to launch several tests on the same appium, but either they try to use the same simulator (if I query the same version, e.g. 10.2) or a new one is launched (if I try to run 10.2 and 10.3) but the automation happens only on the first one, i.e. the second test launches the new simulator but the commands are performed on the first one. May be some special capabilities are to be set?

---

<div class="post-metadata">

**Author:** ![alangithubtrader](https://discuss.appium.io/user_avatar/discuss.appium.io/alangithubtrader/32/1135_2.png) [@alangithubtrader](https://discuss.appium.io/u/alangithubtrader)\
**Post date:** [September 26, 2017, 11:57pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/13 "2017-09-26T23:57:43Z")

</div>

@jlipps could you point us to where we can find more info relating to iOS “Multiple device support” ?

---

<div class="post-metadata">

**Author:** ![derunewige](https://discuss.appium.io/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@derunewige](https://discuss.appium.io/u/derunewige)\
**Post date:** [September 27, 2017, 6:11am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/14 "2017-09-27T06:11:30Z")

</div>

You also have to use separate wda ports for parallel using of simulators

---

<div class="post-metadata">

**Author:** ![avrahamShutterFly](https://discuss.appium.io/letter_avatar_proxy/v4/letter/a/3d9bf3/32.png) [@avrahamShutterFly](https://discuss.appium.io/u/avrahamShutterFly)\
**Post date:** [September 27, 2017, 9:17am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/15 "2017-09-27T09:17:15Z")

</div>

There is a new capabilities on 1.7 version?

---

<div class="post-metadata">

**Author:** ![oscheller87](https://discuss.appium.io/letter_avatar_proxy/v4/letter/o/a6a055/32.png) [@oscheller87](https://discuss.appium.io/u/oscheller87)\
**Post date:** [September 27, 2017, 2:01pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/16 "2017-09-27T14:01:33Z")

</div>

Set the udid desired capability, which is unqiue per simulator. Run `instruments -w devices` to list all available simulators and their udids.

EDIT: Ok, i’m unable to run multiple iOS simulators at once. But I can run Android and iOS emulators and UI tests at the same time on the same appium server.

---

<div class="post-metadata">

**Author:** ![FliTz](https://discuss.appium.io/letter_avatar_proxy/v4/letter/f/bcef8e/32.png) [@FliTz](https://discuss.appium.io/u/FliTz)\
**Post date:** [September 29, 2017, 9:45am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/17 "2017-09-29T09:45:20Z")

</div>

I´ve been trying out appium for some days now and i´m having some troubles with it. I´ve automated a test on an app on Rubymine and was able to run it on 2 android devices through Selenium grid. The problem is that i have to, after i start the hub, register 2 nodes and start 2 appium servers with an udid on default capabilities for each one. I would like to just start 1 appium server and selenium grid would choose which device is available. When i do that the test starts on the 1st device and when i start a second test it just overrrides the 1st test on the 1st device. On the test im not passing any udid. here is my node and what i do to start the hub and the node with 2 instances. I have 2 emulators with android 7.0.

{  
“capabilities”: [  
{  
“appPackage”: “cl.entel.appswlsdesa”,  
“appActivity”: “.activity.SplashscreenActivity”,  
“version”: “7.0”,  
“maxInstances”: 2,  
“platform”: “ANDROID”  
}  
],  
“cleanUpCycle”: 2000,  
“timeout”: 30000,  
“proxy”: “org.openqa.grid.selenium.proxy.DefaultRemoteProxy”,  
“url”: “[http://127.0.0.1:4723/wd/hub](http://127.0.0.1:4723/wd/hub)”,  
“maxSession”: 5,  
“register”: true,  
“registerCycle”: 5000,  
“nodeStatusCheckTimeout”: 30000,  
“hubPort”: 4444,  
“hubHost”: “192.168.122.1”,  
“role”: “node”,  
“nodePolling”: 5000,  
“unregisterIfStillDownAfter”: 60000,  
“downPollingLimit”: 2,  
“debug”: false,  
“servlets” : [],  
“withoutServlets”: [],  
“custom”: {}  
}

I start the hub with: java -jar selenium-server-standalone-3.5.3.jar -role hub  
and the node: appium --nodeconfig ./android.json -a 127.0.0.1 -p 4723 -ca 127.0.0.1 -cp 4723

It would be awesome if selenium grid chose an available device. Thanks!

---

<div class="post-metadata">

**Author:** ![farnett](https://discuss.appium.io/letter_avatar_proxy/v4/letter/f/49beb7/32.png) [@farnett](https://discuss.appium.io/u/farnett)\
**Post date:** [October 4, 2017, 3:55pm UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/18 "2017-10-04T15:55:54Z")

</div>

Has there been a response to this? I would like to know as well

---

<div class="post-metadata">

**Author:** ![Telmo\_Cardoso](https://discuss.appium.io/user_avatar/discuss.appium.io/telmo_cardoso/32/1435_2.png) [@Telmo\_Cardoso](https://discuss.appium.io/u/Telmo_Cardoso)\
**Post date:** [October 5, 2017, 12:23am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/19 "2017-10-05T00:23:17Z")

</div>

Support was done in server, now clients need to implement it. Follow state in here:

> <https://github.com/appium/appium/issues/9340>

---

<div class="post-metadata">

**Author:** ![derunewige](https://discuss.appium.io/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@derunewige](https://discuss.appium.io/u/derunewige)\
**Post date:** [October 5, 2017, 8:19am UTC](https://discuss.appium.io/t/appium-1-7-0-released/18760/20 "2017-10-05T08:19:38Z")

</div>

Hello, It worked for me with using different udid of course for the different simulators, and then each test suite have to run with a different wda port.

[Next page](https://discuss.appium.io/t/appium-1-7-0-released/18760.md?page=2)
