1 | CHANGES IN VERSION 1.10.0 (from 1.9.1)
|
2 | ===================================
|
3 |
|
4 | Appium 1.10.0 is a minor release.
|
5 |
|
6 | #### General
|
7 | * Bring Espresso Driver out of beta and into general availability
|
8 | * Support Xcode 10, discontinue support for Xcode 8
|
9 | * Bump up minimum Node version to 8 and minimum NPM version to 6
|
10 | * Improve string extractions for Android and iOS
|
11 | * Fix synchronization of applications caching [#274](https://github.com/appium/appium-base-driver/pull/274)
|
12 | * Disable CORS on `createServer` by default.Add `--allow-cors` flag to server flags [#11719](https://github.com/appium/appium/pull/11719)
|
13 |
|
14 | #### iOS
|
15 | * Add [mobile:](http://appium.io/docs/en/commands/mobile-command/#ios-xcuitest-only) methods:
|
16 | * Add biometrics (touchId, faceId) methods that can enroll/unenroll biometric features and send matching/non-matching biometric inputs (iOS Simulator only) [#816](https://github.com/appium/appium-xcuitest-driver/pull/816)
|
17 | * Add method to clear keychains for an iOS Simulator [#816](https://github.com/appium/appium-xcuitest-driver/pull/816)
|
18 | * Add [permissions capability](https://github.com/appium/appium-xcuitest-driver#desired-capabilities) that sets service permissions (calendar, siri, etc...) prior to creating a session [#818](https://github.com/appium/appium-xcuitest-driver/pull/818)
|
19 | * Add possibility to upload files into different container types on Simulator [#770](https://github.com/appium/appium-xcuitest-driver/pull/770)
|
20 | * Add [reduceMotion](https://github.com/appium/appium-xcuitest-driver/blob/master/README.md#L161) capability [#760](https://github.com/appium/appium-xcuitest-driver/pull/760)
|
21 | * Improve video recording
|
22 | * Improved iOS simulator booting procedure
|
23 | * Add mobile endpoint for running Siri commands [#837](https://github.com/appium/appium-xcuitest-driver/pull/837)
|
24 |
|
25 | #### Android
|
26 | * Add [mobile:](http://appium.io/docs/en/commands/mobile-command) command for performing editor actions [#428](https://github.com/appium/appium-android-driver/pull/428)
|
27 | * Can record videos up to 30 minutes (requires [FFMPEG](https://www.ffmpeg.org/) to be installed) [#399](https://github.com/appium/appium-android-driver/pull/399)
|
28 | * Add `localeScript` capability to set script in `locale` (https://developer.android.com/reference/java/util/Locale) [#460](https://github.com/appium/appium-android-driver/pull/460)
|
29 | * Allow `locale` and `language` for real devices under API level 23 [#379](https://github.com/appium/appium-adb/pull/379)
|
30 | * Improved video recording
|
31 | * Fix [bug](https://github.com/appium/appium/issues/11619) calling `getRect` in MJSONWP sessions [#240](https://github.com/appium/appium-uiautomator2-driver/pull/240)
|
32 | * Fix pin entry error on Samsung devices that wasn't correctly locating the "Enter" button [#458](https://github.com/appium/appium-android-driver/pull/458)
|
33 | * Relax [hidden API policy](https://developer.android.com/about/versions/pie/restrictions-non-sdk-interfaces) for Android P and above
|
34 | * Support running tests using Android App Bundle [#11601](https://github.com/appium/appium/pull/11601)
|
35 |
|
36 | #### Android (UiAutomator2)
|
37 | * Add [mobile:](http://appium.io/docs/en/commands/mobile-command) command for retrieving device information [#221](https://github.com/appium/appium-uiautomator2-driver/pull/211)
|
38 | * Support `.apks` bundles [#233](https://github.com/appium/appium-uiautomator2-driver/pull/233)
|
39 | * Fix bug with timeouts calls for W3C sessions [#239](https://github.com/appium/appium-uiautomator2-driver/pull/239)
|
40 | * Refactored XML source generation and xpath search in order to fix known bugs and to improve the general performance of these operations [#208](https://github.com/appium/appium-uiautomator2-server/pull/208)
|
41 | * Refactored and fixed issues with W3C Actions [#205](https://github.com/appium/appium-uiautomator2-server/pull/205)
|
42 |
|
43 | CHANGES IN VERSION 1.9.1 (from 1.9.0)
|
44 | ===================================
|
45 |
|
46 | Appium 1.9.1 is a patch release. Next version will likely not support Xcode 8
|
47 |
|
48 | #### General
|
49 | * Append the current session identifier to the protocol name prefix in server logs
|
50 | * Fix the way current protocol is determined from execute response
|
51 |
|
52 | #### iOS
|
53 | * Support Xcode 10 and iOS 12.0
|
54 | * Add a possibility to set container type for Simulator while pushing/pulling files
|
55 | * Fix W3C format handling by receiveAsyncResponse command
|
56 | * Fix iPhone X Simulator screen recording
|
57 |
|
58 | #### Android
|
59 | * Fix `getStrings` for no app
|
60 | * Fix screen recording bug
|
61 | * Return the current geolocation from `getGeoLocation`
|
62 | * Add `mobile:mobileGetDeviceInfo` command (UiAutomator2 only)
|
63 | * Make 'by tag name' selector compatible with View Tag selector (Espresso only)
|
64 | * Convert mouse action events to touch actions (Espresso only)
|
65 |
|
66 | #### Windows
|
67 | * Add more support for [W3C Actions API](https://www.w3.org/TR/webdriver1/#actions)
|
68 | * Support pointer input methods: up, down and move
|
69 | * Add advanced modifier attributes to 'touch' inputs: pressure, twist, width, height
|
70 | * Add advanced modifier attributes to 'pen' inputs: pressure, twist, tilt x and y, eraser, barrel button
|
71 | * Support interpolation for 'pen' and 'multitouch'
|
72 |
|
73 |
|
74 | CHANGES IN VERSION 1.9.0 (from 1.8.1)
|
75 | ===================================
|
76 |
|
77 | Appium 1.9.0 is a feature release, comprising multiple updates.
|
78 |
|
79 | #### General
|
80 | * Full W3C Specification support.
|
81 | * Add full beta of [Espresso driver](https://github.com/appium/appium-espresso-driver)
|
82 | for Android automation (used by specifying `automationName` capability to be
|
83 | `"Espresso"`).
|
84 | * Add driver for [Samsung Tizen devices](https://github.com/Samsung/appium-tizen-driver)
|
85 | * Add `-image` find element strategy,
|
86 | * Fix `--async-trace` server argument, and rename as `--long-stacktrace`
|
87 | * Sample code has been moved into the main repository to aid in maintenance.
|
88 | * Fix status retrieval to speed up performance.
|
89 |
|
90 | #### iOS
|
91 | * Add support for Xcode 10 beta 5 and iOS 12 beta 5.
|
92 | * Add preliminary support for MacOS Mojave beta.
|
93 | * Add face id biometric support.
|
94 | * Fix retrieval of device time, and add optional `format` parameter.
|
95 | * Do not crash if there is no `idevicesyslog` when ending session.
|
96 | * Handle frames when page changes in Safari.
|
97 | * Add desired capabilities:
|
98 | * `remoteDebugProxy` - port or Unix domain socket on which a proxy for the
|
99 | remote debugger sits.
|
100 | * `safariGarbageCollect` - turn on/off JS garbage collection in Safari.
|
101 | * `showSafariNetworkLog` - print Safari network logs in the Appium server logs.
|
102 | * `mjpegServerPort` - port to which screenshots can be streamed.
|
103 | * Fix handling of settings updates, so simulators are not restarted unnecessarily.
|
104 | * Allow pulling of folder from real devices.
|
105 | * Add `mobile: getContexts` execute function, to retrieve meta-information (title,
|
106 | url, etc.) about available contexts.
|
107 | * Fix certificate retrieval and handling.
|
108 | * Fix cookie handling, to allow secure cookies.
|
109 | * Fix Safari timeout issues.
|
110 | * Add support to retrieve Safari network logs, as `safariNetwork` log type.
|
111 |
|
112 | #### Android
|
113 | * Update Chromedriver to v2.41.
|
114 | * Get Chrome version for Webviews in Android 7+, to find correct Chromedriver.
|
115 | * Make sure UiAutomator processes are cleaned up during test.
|
116 | * Fix handling of `autoWebview` capability.
|
117 | * New desired capabilities:
|
118 | * `mjpegScreenshotUrl` - url to stream screenshots to.
|
119 | * `chromedriverUseSystemExecutable` - boolean flag to use the default Chromedriver
|
120 | installed with Appium, avoiding any attempt to find correct Chromedriver.
|
121 | * `disableWindowAnimation` - disable window animations on device (now available
|
122 | on UiAutomator _and_ UiAutomator2).
|
123 | * `pageLoadStrategy` - page load strategy for Chromedriver.
|
124 | * Allow test-only APKs to be installed.
|
125 | * Fix implicit wait handling for finding elements.
|
126 | * Better handle Unicode IME installation.
|
127 | * Relax package validation logic.
|
128 | * Fix error in UiAutomator searches with nested quotes.
|
129 | * Perform accessibility refresh when needed on UiAutomator2.
|
130 | * Improve logic for determining if apps need upgrade.
|
131 | * Fix screen recording to allow longer recordings, up to 30 minutes.
|
132 |
|
133 |
|
134 | CHANGES IN VERSION 1.8.1 (from 1.8.0)
|
135 | ===================================
|
136 |
|
137 | Appium 1.8.1 introduces multiple fixes and features. Most notably, it improves the performance of XCUITest
|
138 | getPageSource.
|
139 |
|
140 | #### General
|
141 | * Fix shrinkwrap problem caused due to package-lock being set to false (#10660)
|
142 |
|
143 | #### iOS
|
144 | * Add keyboard presence verification endpoint (see http://appium.io/docs/en/commands/device/keys/is-keyboard-shown/)
|
145 | * Add `mobile:startLogsBroadcast` feature (see http://appium.io/docs/en/commands/mobile-command/)
|
146 | * Add cap called `realDeviceScreenshotter` to use idevicescreenshot for real device screenshots
|
147 | * Add application platform verification
|
148 | * Validates that `webdriverAgentUrl` capability is a valid URL
|
149 | * Add an extension to retrieve battery info from a real device
|
150 | * Fix Safari console log retrieval
|
151 |
|
152 | #### Android
|
153 | * Return the current connection state instead of undefined for setNetworkConnection
|
154 | * Add a possibility to include stderr output into adb:shell call (see https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/android-shell.md#supported-arguments)
|
155 | * Add flags argument to pressKeyCode so it is possible to generate IME actions if needed (UIAutomator2 only)
|
156 | * Add a cap called `userProfile` which is an integer to enforce user profile while launching applications
|
157 | * Make it possible to retrieve a battery info from the device under test (mobile:batteryInfo)
|
158 | * Add `deviceApiLevel` to returned session capabilities (UIAutomator2 only)
|
159 | * Fix passing suppressKillServer option while creating ADB instance
|
160 | * Improve performance of swipe unlock action
|
161 | * Improve restore from background behaviour
|
162 |
|
163 | CHANGES IN VERSION 1.8.0 (from 1.7.2)
|
164 | ===================================
|
165 |
|
166 | Appium 1.8.0 introduces full support for the [W3C WebDriver specification](https://www.w3.org/TR/webdriver/)
|
167 | ([digested version of the spec](https://github.com/jlipps/simple-wd-spec)).
|
168 |
|
169 | #### General
|
170 | * Minimum [NodeJS](https://nodejs.org/en/) version moved to 6
|
171 | * Add methods for
|
172 | * getting and setting the clipboard contents
|
173 | * get full screen screenshots
|
174 | * Application management
|
175 | * More efficient app downloading by caching URLs
|
176 | * All `moveTo` operations in touch actions now take coordinates as absolute
|
177 | * Support for registering selenium grid through HTTPS by setting the configuration
|
178 | key `"hubProtocol"` to `"https"`
|
179 | * Add `otherApps` desired capability, to specify array of ancillary apps to install
|
180 | on session creation
|
181 |
|
182 | #### iOS
|
183 | * Support for iOS 11.3/Xcode 9.3
|
184 | * Fix handling of process arguments
|
185 | * Add capabilities
|
186 | * `shutdownOtherSimulators` - shutdown other running simulators at session start up
|
187 | * Add ability to record screen
|
188 | * Add support for complex gestures
|
189 | * Fix handling of custom SSL certificate on simulators
|
190 | * Better handling of `xcodebuild` processes
|
191 | * Maintain keychains while upgrading apps
|
192 | * Better handle simulators in unexpected states
|
193 | * Add performance measuring (see [documentation](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios/ios-xctest-performance.md))
|
194 |
|
195 | #### Android
|
196 | * Support for Android P (API Level 28)
|
197 | * Known issue in screenshot: https://issuetracker.google.com/issues/76114030
|
198 | * Fix handling of webview contexts when resetting apps
|
199 | * Fix handling of screen recording
|
200 | * Make sure intent is broadcast when file is uploaded
|
201 | * Add possibility to broadcast device logs through WebSocket
|
202 | * Chromedriver
|
203 | * Bundle version 2.37
|
204 | * Automatically choose compatible Chromedriver for Chrome version
|
205 | * `chromedriverExecutableDir` capability to specify where Chromedrivers are located
|
206 | * `chromedriverChromeMappingFile` capability to specify what Chromedriver version corresponds to what Chrome version
|
207 | * Fix Handling of idle state waiting
|
208 | * Speed up screenshot logic in UiAutomator2
|
209 | * Allow disabling of notification watching through settings
|
210 | * Fix parsing and granting of permissions for app under test
|
211 | * Support deep linking and Android Instant Apps
|
212 |
|
213 |
|
214 | CHANGES IN VERSION 1.8.0-beta (from 1.7.2)
|
215 | ===================================
|
216 |
|
217 | Appium 1.8.0 introduces full support for the [W3C WebDriver specification](https://www.w3.org/TR/webdriver/)
|
218 | ([digested version of the spec](https://github.com/jlipps/simple-wd-spec)).
|
219 |
|
220 |
|
221 | CHANGES IN VERSION 1.7.2 (from 1.7.1)
|
222 | ===================================
|
223 |
|
224 | Appium 1.7.2 is a feature and bug fix release. It fixes many issues found in
|
225 | earlier releases.
|
226 |
|
227 |
|
228 | #### General
|
229 | * Fix memory leak in server logging
|
230 | * Add support for MacOS 10.13
|
231 | * Clean up logging to make messages more clear and useful
|
232 | * Add `printPageSourceOnFindFailure` to automatically log the current page source when finding an
|
233 | element or elements fails
|
234 | * Add ability to take screenshots of an element
|
235 | * Begin to handle Selenium W3C specification
|
236 |
|
237 | #### iOS
|
238 | * Simulators
|
239 | * Clean up handling in Xcode 9
|
240 | * Add support for `shake` gesture (requires AppleScript)
|
241 | * Add support for custom geo locations (requires AppleScript)
|
242 | * Add possibility to clear caches
|
243 | * Make sure execution does not fail when trying to shut down simulators that
|
244 | are already shut down
|
245 | * Fix handling of source when within a frame/iframe, so that the source of the
|
246 | frame is retrieved instead of that of the top-most frameset
|
247 | * Fix error when unable to parse real device date/time, to return unparsable
|
248 | date rather than `Invalid Date`
|
249 | * Fix getting crash logs
|
250 | * Fix getting device logs in iOS 10+
|
251 | * Fix cleaning up of temporary files
|
252 | * Correctly handle device names for iPhone 7, 8 and X in Xcode 9
|
253 | * Fix screenshots for larger real devices
|
254 | * Fix runtime Xcode selection through `DEVELOPER_DIR` environment variable
|
255 | * Add `useJSONSource` desired capability to force Appium to use WDA JSON source
|
256 | and parse locally, to speed up source retrieval on larger devices
|
257 | * Fix file pushing/pulling so it works for simulators and real devices
|
258 |
|
259 | #### iOS - Instruments-specific
|
260 |
|
261 |
|
262 | #### Android
|
263 | * Fix handling of install/upgrade of Appium helper apps (for settings manipulation
|
264 | and unlocking of devices)
|
265 | * Add support for Chromedriver 2.33 (which supports webviews on Android O)
|
266 | * Add `showChromedriverLog` desired capability to bring Chromedriver logs in-line
|
267 | in the Appium server logs
|
268 | * Fix error in stopping coverage when session failed to start
|
269 | * Add support for getting and setting animation state
|
270 | * Fix handling of size-limited text fields in API levels below 24
|
271 | * Add support for getting the current value of progress bars
|
272 | * Fix handling of initial orientation, and make sure no orientation is set if
|
273 | nothing is requested
|
274 | * Make sure all UiAutomator commands are properly handled
|
275 | * Ensure `pageLoadStrategy` capability is passed to Chromedriver
|
276 | * Add support to get currently running package name
|
277 | * Ensure non-working Chromedriver is correctly handled
|
278 | * Add `password` to retrievable element attributes
|
279 | * Fix locale/language setting
|
280 | * Add `clearDeviceLogsOnStart` desired capability, to clear `adb` `logcat` logs when the session is started
|
281 | * Add `--relaxed-security`, and `mobile: shell` access to `adb`
|
282 |
|
283 | CHANGES IN VERSION 1.7.1 (from 1.7.0)
|
284 | ===================================
|
285 |
|
286 | Appium 1.7.1 fixes multiple issues with the previous release.
|
287 |
|
288 | #### iOS
|
289 | * Add ability to change default Simulator preferences
|
290 |
|
291 | #### iOS - XCUITest
|
292 | * Can use xctestrun file to launch WDA
|
293 | * Fix bug that was causing startCapture to be called more than once
|
294 | * Apply a workaround for setting default device orientation
|
295 | * Update offset determination for iPad
|
296 |
|
297 | #### iOS+Safari
|
298 | * Add handler for starting/stopping JS console capture
|
299 |
|
300 | #### Android
|
301 | * Add support to force upgrade settings app
|
302 | * Always assumes the file to be pushed by `pushFile` command contains binary data
|
303 | * Add ADB option to to force reinstall on upgrade
|
304 |
|
305 | #### Android - UiAutomator 2
|
306 | * Do not proxy getting app strings
|
307 |
|
308 |
|
309 | CHANGES IN VERSION 1.7.0 (from 1.6.5)
|
310 | ===================================
|
311 |
|
312 | **Note:** This is a feature release, marking two major changes:
|
313 | * Support iOS 11 through Xcode 9 beta 6
|
314 | * Support multiple simultaneous sessions in Android and iOS (9+)
|
315 |
|
316 | **Known Issues:**
|
317 | * Android
|
318 | * Webviews on Android O do not work because of a bug in Chromedriver. We
|
319 | are working on a workaround. Chrome sessions still work
|
320 | * iOS
|
321 | * Touch ID enrollment on simulators in Xcode 9 does not work because of an
|
322 | issue with AppleScript
|
323 | * Scaling simulators with Xcode 9 does not work
|
324 | * Simulators in Xcode 9 produce no meaningful device logs
|
325 | * Parallel Safari/Webview sessions are not working due to an Apple bug
|
326 |
|
327 | #### General
|
328 | * Fix handling of sending keys to elements in recent versions of Selenium
|
329 | * Allow `app` capability that is a url to have query parameters
|
330 | * Begin to allow multiple device support in situations where it is possible
|
331 | (e.g., iOS under Xcode 9)
|
332 | * Add `isHeadless` capability to allow running simulator/emulator with no UI
|
333 |
|
334 | #### iOS
|
335 | * Add command to upload media to simulator
|
336 | * Fix reliability of touch ID functionality
|
337 | * Fix detection of system apps
|
338 | * Update atoms used for MobileSafari automation to those of Selenium 3.5.3
|
339 | * Add `realDeviceLogger` capability to allow specification of what program to
|
340 | use to capture logs on real device
|
341 | * Fix handling of `enablePerformanceLogging` capability in Safari tests
|
342 | * Fix offset when Safari on an iPad has multiple tabs
|
343 |
|
344 | #### iOS - XCUITest
|
345 | * Support for latest Beta of iOS 11 (Xcode 9 beta 6)
|
346 | * Multiple device support
|
347 | * Fix handling of bundle id on simulators
|
348 | * Make `nativeWebTap` a setting as well as a desired capability
|
349 | * Allow `nativeWebTap` to work on real devices
|
350 | * Do not try to uninstall app before installing on real device, which was causing
|
351 | many issues
|
352 | * Fix clearing of text fields
|
353 | * Change behavior of `useNewWDA`: if `true`, forces uninstall of any existing
|
354 | WebDriverAgent app on device. Set it to `true` if you want to apply different
|
355 | startup options for WebDriverAgent for each session. Real devices require
|
356 | WebDriverAgent client to run for as long as possible without reinstall/restart
|
357 | to avoid issues. The `false` value will try to detect currently running WDA
|
358 | listener executed by previous testing session(s) and reuse it if possible,
|
359 | which is highly recommended for real device testing and to speed up suites of
|
360 | multiple tests in general. A new WDA session will be triggered at the default
|
361 | URL (http://localhost:8100) if WDA is not listening and `webDriverAgentUrl`
|
362 | capability is not set.
|
363 | * Allow setting url in native context
|
364 | * Fix screenshot functionality
|
365 |
|
366 | #### Android
|
367 | * Add `remoteAdbHost` capability to specify the host on which adb is running, if
|
368 | it is not localhost
|
369 | * Add methods to start and stop recording the screen
|
370 | * Fix screenshot commands
|
371 | * Skip setting of mock location for emulators
|
372 | * Add methods for emulator phone capacity: `sendSMS`, `gsmCall`, `gsmSignal`,
|
373 | `gsmVoice`, `powerAC`, `powerCapacity`, and `networkSpeed`
|
374 | * Fix cleanup of adb port forwarding during Chrome sessions
|
375 | * Fix error where package name would be appended to fully qualified activity
|
376 | name and package finding would then fail
|
377 | * Properly handle bootstrap failure on launch
|
378 | * Make sure correct logger is used for bootstrap
|
379 |
|
380 | #### Android - UIAutomator 2
|
381 | * Fix handling of `adbPort` capability
|
382 | * Fix coverage handling
|
383 | * Handle pressing and long pressing key codes
|
384 | * Enable `nativeWebScreenshot` capability
|
385 | * Fix restoring of IME when `unicodeKeyboard`/`resetKeyboard` capabilities are
|
386 | used
|
387 | * Add `disableWindowAnimation` capability to launch instrumentation with no
|
388 | animation
|
389 | * Correctly start ChromeDriver session for Chrome session
|
390 | * Allow getting `password` attribute from elements
|
391 |
|
392 |
|
393 |
|
394 |
|
395 | CHANGES IN VERSION 1.7.0-beta (from 1.6.5)
|
396 | ===================================
|
397 |
|
398 | **Note:** This is a **_BETA_** release. Please direct any issues to the [Appium
|
399 | issue tracker](https://github.com/appium/appium/issues) and provide as much
|
400 | information as possible.
|
401 |
|
402 | This release exists to provide an updatable package in order to get the latest
|
403 | work on Appium. To install, first uninstall Appium and then re-install with the
|
404 | `beta` tag. To get any changes that have been published to sub-packages, simply
|
405 | repeat that process.
|
406 | ```
|
407 | npm uninstall -g appium
|
408 | npm install -g appium@beta
|
409 | ```
|
410 |
|
411 | If you are running iOS tests with the XCUITest backend (i.e., iOS 10+ tests, and
|
412 | some iOS 9.3 tests, if the `automationName` capability is set to `XCUITest`), you
|
413 | should also remove the old build artifacts.
|
414 | 1. Remove derived data: `rm -rf ~/Library/Developer/Xcode/DerivedData/WebDriverAgent-*`
|
415 | 2. Remove `WebDriverAgentRunner` application from any real device being tested.
|
416 |
|
417 | #### Android
|
418 | * Add beta version of Espresso Driver. To use, set `automationName = espresso`.
|
419 |
|
420 |
|
421 | CHANGES IN VERSION 1.6.6-beta.4 (from 1.6.5)
|
422 | ===================================
|
423 |
|
424 | **Note:** This is a **_BETA_** release. Please direct any issues to the [Appium
|
425 | issue tracker](https://github.com/appium/appium/issues) and provide as much
|
426 | information as possible.
|
427 |
|
428 | This release exists to provide an updatable package in order to get the latest
|
429 | work on Appium. To install, first uninstall Appium and then re-install with the
|
430 | `beta` tag. To get any changes that have been published to sub-packages, simply
|
431 | repeat that process.
|
432 | ```
|
433 | npm uninstall -g appium
|
434 | npm install -g appium@beta
|
435 | ```
|
436 |
|
437 | If you are running iOS tests with the XCUITest backend (i.e., iOS 10+ tests, and
|
438 | some iOS 9.3 tests, if the `automationName` capability is set to `XCUITest`), you
|
439 | should also remove the old build artifacts.
|
440 | 1. Remove derived data: `rm -rf ~/Library/Developer/Xcode/DerivedData/WebDriverAgent-*`
|
441 | 2. Remove `WebDriverAgentRunner` application from any real device being tested.
|
442 |
|
443 | #### Android
|
444 | * Add beta version of Espresso Driver. To use, set `automationName = espresso`.
|
445 |
|
446 | CHANGES IN VERSION 1.6.5 (from 1.6.4)
|
447 | ===================================
|
448 |
|
449 | Appium 1.6.5 fixes many issues and continues the trend to make more aspects of
|
450 | the automation process configurable.
|
451 |
|
452 | #### General
|
453 | * Add `--enable-heapdump` server flag to turn on NodeJS memory dump collection,
|
454 | to aid in memory management.
|
455 | * Better logging of erroneous responses.
|
456 | * Full support of W3C specification's handling of capabilities.
|
457 | * Fix licensing in all dependencies.
|
458 |
|
459 | #### Android
|
460 | * Added handlers for basic system alerts, so now it is possible to accept/decline/get text of the most of
|
461 | them using the standard Selenium's switchTo().alert() interface (UIA2 only)
|
462 | * Fix backgrounding of app.
|
463 | * Add `androidInstallPath` capability to specify where on the device apps are installed.
|
464 | * Speed up taking screenshots on Android 5.0 and higher devices.
|
465 | * Fix handling of activity names that are inner classes.
|
466 | * Support latest Android SDK directory structure.
|
467 | * Fix issue where granting permissions would fail if there were too many.
|
468 | * Fix handling of parent element information when finding elements.
|
469 |
|
470 | #### Android - UIAutomator 2
|
471 | * Fix handling of boolean return values.
|
472 | * Add `skipUnlock` capability to skip the device unlock process.
|
473 | * Fix issue where setting the network connection would crash.
|
474 |
|
475 |
|
476 | #### iOS
|
477 | * Add `enableAsyncExecuteFromHttps` capability to allow simulators to execute
|
478 | asynchronous JavaScript on pages using HTTPS.
|
479 | * Allow setting url in native context, for opening deep links.
|
480 | * Better memory management when capturing device logs.
|
481 | * Add `webkitResponseTimeout` capability to adjust the timeout for responses in
|
482 | Safari real device tests.
|
483 | * Add `enablePerformanceLogging` capability (previously Android-only) to turn on
|
484 | performance logging in Safari tests.
|
485 |
|
486 | #### iOS - XCUITest
|
487 | * Fully support `clearSystemFiles` desired capability, deleting the derived data
|
488 | for the `xcodebuild` process.
|
489 | * Fix `longPress` duration, to be milliseconds.
|
490 | * Add `mobile: selectPickerWheelValue` method to aid in interacting with picker wheels.
|
491 | * Add `mobile: alert` method to enable passing of `buttonLabel` option, to handle
|
492 | alerts with non-standard button names.
|
493 | * Fix hanging if an app is not installed and only bundle identifier is given in
|
494 | capabilities.
|
495 | * Allow `platformVersion` to be a number or a string.
|
496 |
|
497 |
|
498 |
|
499 | CHANGES IN VERSION 1.6.5-beta (from 1.6.4)
|
500 | ===================================
|
501 |
|
502 | **Note:** This is a **_BETA_** release. Please direct any issues to the [Appium
|
503 | issue tracker](https://github.com/appium/appium/issues) and provide as much
|
504 | information as possible.
|
505 |
|
506 | This release exists to provide an updatable package in order to get the latest
|
507 | work on Appium. To install, first uninstall Appium (`npm uninstall -g appium`)
|
508 | and then re-install with the `beta` tag (`npm install -g appium@beta`). To get
|
509 | any changes that have been published to sub-packages, simply repeat that process.
|
510 |
|
511 |
|
512 | CHANGES IN VERSION 1.6.4 (from 1.6.3)
|
513 | ===================================
|
514 |
|
515 | Appium 1.6.4 fixes numerous issues with the previous releases. This release
|
516 | supports iOS 10.3 as well as Android 7.1.
|
517 |
|
518 | **_Note_:**
|
519 | * Apple's MacOS 10.12.4 update has broken the functioning of iOS 10.2 and below
|
520 | simulators.
|
521 |
|
522 | #### General
|
523 | * Fix `UnhandledPromiseRejection` errors when running Appium with Node version 7
|
524 | * Better indicate missing necessary programs to users
|
525 | * Fix session creation logging
|
526 | * Fix server shutdown on `SIGINT` and `SIGTERM` signals
|
527 | * Ensure that all requests have `application/json` content-type
|
528 | * Add an event timing API to allow for monitoring of performance metrics such as
|
529 | time to session startup, simulator boot, etc. Add `eventTimings` capability
|
530 | to enable or disable
|
531 |
|
532 | #### iOS
|
533 | * Fix issues with error handling in Safari/Webview handling
|
534 | * Increase simulator launch timeout for iOS 10+
|
535 | * Better handling of page selection in Safari
|
536 | * Fix memory usage issues when device logs get large
|
537 | * Add `startIWDP` capability to allow Appium to handle starting/stopping `ios-webkit-debug-proxy`
|
538 | automatically.
|
539 | * Fix problem where date returned from device was not parsable
|
540 | * Allow custom `SafariLauncher` bundle id to be passed in through `bundleId` capability
|
541 | during real device Safari tests, in case Xcode can no longer build the bundled one
|
542 | * Fix logging from real device in the case where the device data/time are different
|
543 | from the server
|
544 |
|
545 | #### iOS - XCUITest
|
546 | * Changes the way the Appium checks that WebDriverAgent is running on the device,
|
547 | so that rather than searching the logs, the device is pinged until it is
|
548 | ready.
|
549 | - Remove `realDeviceLogger` capability, since we no longer check the logs
|
550 | * Add `useNewWDA` capability, which forces uninstall of the WDA app from the
|
551 | device before each session
|
552 | * Add `wdaLaunchTimeout` capability, which specified the time, in `ms`, to wait
|
553 | for WDA to be loaded and launched on the device
|
554 | * Allow for the auto-generation of the Xcode config file used to configurable
|
555 | WDA before launch. This includes _two_ new desired capabilities
|
556 | - `xcodeOrgId` - the Apple developer team identifier string
|
557 | - `xcodeSigningId` - a string representing a signing certificate, defaulting to
|
558 | "iPhone Developer"
|
559 | * Allow for automatic changing of bundle id for WDA in cases where a
|
560 | provisioning profile cannot be made for default bundle
|
561 | - add `updatedWDABundleId` capability to specify bundle id for which there is
|
562 | a valid provisioning profile
|
563 | * Speed up setting the value of text fields
|
564 | * Add `wdaConnectionTimeout` to control how long the server waits for WDA to
|
565 | allow connections
|
566 | * Fix handling of local port on real devices
|
567 | * Speed up Safari interactions
|
568 | * Fix session deletion to ensure that clean up happens
|
569 | * Add `mobile: swipe` execute method
|
570 | * Ensure that scrolling through `mobile: scroll` works in web context
|
571 | * Add `class chain` search strategy (see [wiki](https://github.com/facebook/WebDriverAgent/wiki/Queries#searching-for-elements))
|
572 | * Add `maxTypingFrequency` capability to set the speed of typing
|
573 | * Introduce new set of gestures to allow access to everything the underlying
|
574 | system can do (see [docs](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios-xctest-mobile-gestures.md))
|
575 | * Add `allowTouchIdEnroll` capability to enroll simulator for touch id
|
576 | * Use `simctl` to do simulator screenshots when possible
|
577 | * Fix handling of getting status so that it returns even when other commands
|
578 | are in progress, bypassing queue
|
579 | * Fix bug where commands in webviews would work, but not return for a long time
|
580 | * If `showXcodeLog` capability set, print out the contents of the xcodebuild log
|
581 | file at the end of the session (also after a failure/retry of the build, in
|
582 | such a case)
|
583 |
|
584 |
|
585 | #### Android
|
586 | * Default installation to ChromeDriver 2.28
|
587 | * Add device manufacturer, model, and screen size to session details
|
588 | * Fix bug in checking avd status on some systems
|
589 | * Allow wildcards in `appWaitActivity` capability
|
590 | * Fix issue where reboot would fail
|
591 | * Add new unlocking strategies (see [docs](https://github.com/appium/appium-android-driver/blob/master/docs/UNLOCK.md))
|
592 | * Add `androidNaturalOrientation` capability to allow for correct handling of
|
593 | orientation on landscape-oriented devices
|
594 | * Allow backgrounding to be permanent
|
595 | * Dismiss Chrome welcome screen if `--no-first-run` Chrome option passed in
|
596 | * Fix Android command line tools for recent releases
|
597 | * Make network setting commands more reliable
|
598 |
|
599 | #### Android - Selendroid
|
600 | * Fix handling of host binary configuration for more precise installation options
|
601 |
|
602 |
|
603 | CHANGES IN VERSION 1.6.4 Beta (from 1.6.3)
|
604 | ===================================
|
605 |
|
606 | **Note:** This is a **_BETA_** release. Please direct any issues to the [Appium
|
607 | issue tracker](https://github.com/appium/appium/issues) and provide as much
|
608 | information as possible.
|
609 |
|
610 | #### General
|
611 | * Fixed `UnhandledPromiseRejection` errors when running Appium with Node version
|
612 | 7
|
613 | * Better indicate missing necessary programs to users
|
614 | * Fix session creation logging
|
615 | * Fix server shutdown on `SIGINT` and `SIGTERM` signals
|
616 | * Ensure that all requests have `application/json` content-type
|
617 |
|
618 | #### iOS
|
619 | * Fix issues with error handling in Safari/Webview handling
|
620 | * Increase simulator launch timeout for iOS 10+
|
621 | * Better handling of page selection in Safari
|
622 | * Fix memory usage issues when device logs get large
|
623 |
|
624 | #### iOS - XCUITest
|
625 | * Changed the way the Appium checks that WebDriverAgent is running on the device,
|
626 | so that rather than searching the logs, the device is pinged until it is
|
627 | ready.
|
628 | - Removed `realDeviceLogger` capability, since we no longer check the logs
|
629 | * Add `useNewWDA` capability, which forces uninstall of the WDA app from the
|
630 | device before each session
|
631 | * Add `wdaLaunchTimeout` capability, which specified the time, in `ms`, to wait
|
632 | for WDA to be loaded and launched on the device
|
633 | * Allow for the auto-generation of the Xcode config file used to configurable
|
634 | WDA before launch. This includes _two_ new desired capabilities
|
635 | - `xcodeOrgId` - the Apple developer team identifier string
|
636 | - `xcodeSigningId` - a string representing a signing certificate, defaulting to
|
637 | "iPhone Developer"
|
638 | * Allow for automatic changing of bundle id for WDA in cases where a
|
639 | provisioning profile cannot be made for default bundle
|
640 | - add `updatedWDABundleId` capability to specify bundle id for which there is
|
641 | a valid provisioning profile
|
642 | * Speed up setting the value of text fields
|
643 | * Add `wdaConnectionTimeout` to control how long the server waits for WDA to
|
644 | allow connections
|
645 | * Fix handling of local port on real devices
|
646 | * Speed up Safari interactions
|
647 | * Fix session deletion to ensure that clean up happens
|
648 | * Add `mobile: swipe` execute method
|
649 | * Ensure that scrolling through `mobile: scroll` works in web context
|
650 |
|
651 | #### Android
|
652 | * Default installation to ChromeDriver 2.26
|
653 | * Add device manufacturer, model, and screen size to session details
|
654 | * Fix bug in checking avd status on some systems
|
655 | * Allow wildcards in `appWaitActivity` capability
|
656 |
|
657 | #### Android - Selendroid
|
658 | * Fix handling of host binary configuration for more precise installation options
|
659 |
|
660 |
|
661 | CHANGES IN VERSION 1.6.3 (from 1.6.2)
|
662 | ===================================
|
663 |
|
664 | _This is another emergency release due to an issue with the NPM shrinkwrap_
|
665 |
|
666 | #### iOS
|
667 |
|
668 | * Fix issue where we might try and uninstall an ssl cert from a real device
|
669 | where this isn't sensible
|
670 | * Fix another issue with acceptSslCerts where it might potentially miss the
|
671 | correct sim UDID
|
672 |
|
673 | #### iOS - XCUITest
|
674 | * Upgrade version of WebDriverAgent used. Includes following updates:
|
675 | * Improve xpath query performance
|
676 | * Verify predicates
|
677 | * Fix crash for some xpath selectors
|
678 | * Decorate proxied getSession response with Appium's capabilities (fixes
|
679 | issues with clients that call getSession to determine server capabilities
|
680 | and are confused by WDA's non-standard response) ([#7480](https://github.com/appium/appium/issues/7480))
|
681 | * Fix issue with starting XCUITests on a real device, due to changes in WDA
|
682 | that invalidated our startup detection logic. ([#7313](https://github.com/appium/appium/issues/7313))
|
683 | * Allow connecting to an already-running WebDriverAgent through the
|
684 | `webDriverAgentUrl` capability, rather than starting our own
|
685 |
|
686 | #### Android
|
687 | * Fix bug where we would attempt to get target SDK version from manifests
|
688 | even when they might not include it. ([#7353](https://github.com/appium/appium/issues/7353))
|
689 | * Actually pass the `acceptSslCerts` capability to the underlying automation
|
690 | so that it can have an effect ([#7326](https://github.com/appium/appium/issues/7326))
|
691 | * Updated permission granting logic to speed up permission granting by doing
|
692 | it in bulk rather than one at a time ([#7493](https://github.com/appium/appium/issues/7493))
|
693 | * Hide the new permission granting logic behind an `autoGrantPermissions`
|
694 | capability which doesn't attempt to grant permissions unless it's `true`
|
695 | ([#7497](https://github.com/appium/appium/issues/7497))
|
696 |
|
697 | #### Android - Uiautomator2
|
698 |
|
699 | * Add ability to verify TOAST messages (these can't be interacted with, only
|
700 | text retrieval allowed)
|
701 |
|
702 | #### Windows
|
703 | * _Actually_ upgrade WinAppDriver to 0.7 ([#7445](https://github.com/appium/appium/issues/7445)). Includes following updates:
|
704 | * Click on arbitrary elements
|
705 | * Support for sendKeys modifiers
|
706 | * Various bugfixes
|
707 | * Added `GET /orientation`
|
708 | * Added support for WPF apps
|
709 |
|
710 |
|
711 | CHANGES IN VERSION 1.6.2 (from 1.6.1)
|
712 | ===================================
|
713 |
|
714 | _This is a small, mostly-emergency release because we realized we omitted
|
715 | XCUITest upgrades via WebDriverAgent that we had mistakenly presumed were part
|
716 | of 1.6.1._
|
717 |
|
718 | #### iOS - XCUITest
|
719 | * Upgrade version of WebDriverAgent used. Includes following updates:
|
720 | * Support for setting values on sliders
|
721 | * Fix tapping in various orientations
|
722 | * Allow tapping on arbitrary coordinates
|
723 | * Support for pinch gestures
|
724 | * Make `clear` faster
|
725 | * Improve xpath query performance
|
726 | * Add `preventWDAAttachments` capability to help with XCUITest speed and disk usage
|
727 |
|
728 | #### Android - UiAutomator2
|
729 | * Code refactoring to pave the way for some UiAutomator2 wifi automation work
|
730 | * Find an unused system port automatically to avoid port clashes
|
731 |
|
732 | #### Windows
|
733 | * Upgrade WinAppDriver to 0.7. Includes following updates:
|
734 | * Click on arbitrary elements
|
735 | * Support for sendKeys modifiers
|
736 | * Various bugfixes
|
737 | * Added `GET /orientation`
|
738 | * Added support for WPF apps
|
739 |
|
740 |
|
741 | CHANGES IN VERSION 1.6.1 (from 1.6.0)
|
742 | ===================================
|
743 |
|
744 | Appium 1.6.1 is the first release since bringing Appium into the [JS Foundation](https://js.foundation/)
|
745 | (see [press release](https://js.foundation/announcements/2016/10/17/Linux-Foundation-Unites-JavaScript-Community-Open-Web-Development/)).
|
746 |
|
747 | Much of the development energy has been spent on fixing issues that have come up
|
748 | from the newly-integrated XCUITest and UI Automator 2 vendor-provided test
|
749 | backends.
|
750 |
|
751 | #### General
|
752 | * Add `clearSystemFiles` desired capability, to specify whether to delete any generated
|
753 | files at the end of a session (see iOS and Android entries for particulars)
|
754 | * Better handle signals for stopping server
|
755 | * Fix operation of Selenium 3 Grid
|
756 | * Log more of the proxied requests and responses, for better debugging
|
757 | * Better handle source mapping for IDE support
|
758 | * Move `appium-doctor` into globally-installed utility, not bundled with server
|
759 | * Move `appium-logger` into `appium-base-driver`
|
760 | * Better handle downloading of zip files which may not have a `.zip` extension (like `.apk`)
|
761 |
|
762 |
|
763 | ##### iOS
|
764 | * Add support for iOS 10.1
|
765 | * Add support for iOS 10.2 Beta 1
|
766 | * Add `clearSystemFiles` desired capability to specify whether to Core Simulator
|
767 | files, and Instruments (for iOS Driver) or XCUITest (for XCUITest Driver) generated files
|
768 | * Ensure correct files are tested when checking for Simulator newness
|
769 | * Map `iPad Simulator` `deviceName` to iPad Retina instead of discontinued iPad 2
|
770 | * Gracefully return when Webkit Remote Debugger doesn't return on a real device
|
771 | * Better log errors from xcode handling
|
772 | * Add `customSSLCert` capability to pre-authorize a specific SSL cert in the iOS trust store
|
773 | * During reset, don't try to uninstall an app from a real device if it's not installed
|
774 |
|
775 |
|
776 | ##### iOS - XCUITest specific
|
777 | * clean up logging to remove confusing "Waiting..." lines
|
778 | * Fix issue in which switching to NATIVE_APP would still proxy find commands to Remote debugger
|
779 | * Fix handling of Selenium Grids
|
780 | * Correctly handle long press so duration is respected
|
781 | * Add `tapWithShortPressDuration` desired capability to specify a length for tapping,
|
782 | if the regular tap is too long for the app under test
|
783 | * Add support for scrolling through Touch Actions
|
784 | * Make sure keyboard is available when keys are sent to Text Fields
|
785 | * Add support for Zoom via Touch Action API (Pinch still not supported by Apple)
|
786 | * Fix implementation of double tap
|
787 | * Improvements in startup flow for real devices
|
788 | * Allow gestures on coordinates, not just elements
|
789 | * Add `scaleFactor` capability to direct Appium to set the simulator scale
|
790 |
|
791 |
|
792 | ##### Android
|
793 | * Use ChromeDriver version 2.25
|
794 | * Correctly handle `--suppress-adb-kill-server` command line argument
|
795 | * Pass actual failure back when session fail and deleting the session also fails
|
796 | * Add `clearSystemFiles` desired capability to specify whether to delete temporary
|
797 | copies of the application under test at the end of the session
|
798 | * Fix issue where finding UI Automator process id would throw an error
|
799 | * Add `chromeAndroidPackage` capability which will be passed to `chromeOptions`
|
800 | * Add APIs for gathering various kinds of performance data
|
801 | * Ensure we don't try to stop app if `dontStopAppOnReset` is in force
|
802 | * Fix issue where we tried to determine the bounds of a non-existent element
|
803 |
|
804 |
|
805 | ##### Android - UiAutomator2
|
806 | * Fix handling of element attributes
|
807 | * Better handle element finding
|
808 | * Toast message verification support
|
809 | * Ensure that there is a <hierarchy> root tag for xml/xpath source
|
810 | * Implement /rotation endpoint (supports 4 rotations)
|
811 |
|
812 |
|
813 | CHANGES IN VERSION 1.6.0 (from 1.5.3)
|
814 | ===================================
|
815 |
|
816 | This release of Appium is a significant milestone, introducing support for two new platforms:
|
817 | * [Windows](https://www.microsoft.com/en-us/windows) desktop applications (see the [usage documentation](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/windows-app-testing.md)).
|
818 | * [You.i TV](http://www.youi.tv/) (see the [driver documentation](https://github.com/YOU-i-Labs/appium-youiengine-driver#appium-youi-engine-driver)).
|
819 |
|
820 | There is also support for two new frameworks for automating iOS and Android:
|
821 | * XCUITest support for automating iOS 9.3 and 10 (see [migration docs](https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-xcuitest.md) and [driver docs](https://github.com/appium/appium-xcuitest-driver#appium-xcuitest-driver)).
|
822 | * UI Automator 2 support for enhanced automation of Android devices (see [wiki](https://github.com/appium/appium-uiautomator2-server/wiki)).
|
823 |
|
824 | #### General
|
825 | - Require Node 4 or above (**possible breaking change**)
|
826 | - Add `automationName` capability entries for `XCUITest`, `UIAutomator2`, and `youiengine`
|
827 | - Add `platformName` capability entry for `Windows`
|
828 |
|
829 | #### iOS
|
830 | - Add support for Xcode 8 and iOS 10 (using `automationName` of `XCUITest`). For information on using this driver, see the [driver documentation](https://github.com/appium/appium-xcuitest-driver#external-dependencies)
|
831 | - Make sure device name gets properly translated into actual device name
|
832 | - Fix case where orientation would get lost
|
833 | - Fix Safari page change logic to actually catch when a page changes
|
834 | - Try harder to kill Instruments if the normal way does not work, to avoid hanging processes
|
835 | - Move `authorize-ios` into global package
|
836 |
|
837 | #### Android
|
838 | - Add `androidInstallTimeout` desired capability, to customize the timeout when installing an app
|
839 | - Add `androidScreenshotPath` desired capability, to set the path in which screenshot files are saved on the device
|
840 | - Add `appWaitDuration` desired capability, to customize how long to wait for an application
|
841 | - Fix optional intent arguments to allow for hyphens
|
842 | - Wait for apps to launch before proceeding
|
843 | - Switch to clearing text fields using adb, to improve reliability and speed
|
844 | - Add ability to detect screen orientation
|
845 | - Make sure Selendroid mode doesn't lose connection through adb when network changes
|
846 | - Make sure the release action in a touch action chain doesn't happen in the wrong place
|
847 | - Make application install more reliable
|
848 | - Fix screenshot on Windows
|
849 | - Make Chromedriver connect on a random port if none specified
|
850 | - Add `reboot` server argument, to specify that the avd ought to be cleaned and rebooted
|
851 |
|
852 |
|
853 | CHANGES IN VERSION 1.6.0 beta 1 (from 1.5.3)
|
854 | ===================================
|
855 |
|
856 | This release of Appium marks the beginning of support for two brand new platforms:
|
857 | * [Windows](https://www.microsoft.com/en-us/windows) desktop applications (see the [usage documentation](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/windows-app-testing.md))
|
858 | * [You.i TV](http://www.youi.tv/) (see the [driver documentation](https://github.com/YOU-i-Labs/appium-youiengine-driver#appium-youi-engine-driver)).
|
859 |
|
860 | Further, since Apple removed the Instruments automation functionality in Xcode 8,
|
861 | this release of Appium has preliminary support for XCUITest, allowing for the automation
|
862 | of applications in iOS 9.3 and 10.
|
863 |
|
864 | #### General
|
865 | - Require Node 4 or above (**possible breaking change**)
|
866 | - Add `automationName` entries for `XCUITest`, and `youiengine`
|
867 | - Add `platformName` entry for `Windows`
|
868 |
|
869 | #### iOS
|
870 | - Add preliminary support for Xcode 8 and iOS 10 (using `automationName` of `XCUITest`). For information on using this driver, see the [driver documentation](https://github.com/appium/appium-xcuitest-driver#external-dependencies)
|
871 | - Make sure device name gets properly translated into actual device name
|
872 | - Fix case where orientation would get lost
|
873 | - Fix Safari page change logic to actually catch when a page changes
|
874 | - Try harder to kill Instruments if the normal way does not work, to avoid hanging processes
|
875 |
|
876 | #### Android
|
877 | - Add `androidInstallTimeout` desired capability, to customize the timeout when installing an app
|
878 | - Add `androidScreenshotPath` desired capability, to set the path in which screenshot files are saved on the device
|
879 | - Add `appWaitDuration` desired capability, to customize how long to wait for an application
|
880 | - Fix optional intent arguments to allow for hyphens
|
881 | - Wait for apps to launch before proceeding
|
882 | - Switch to clearing text fields using adb, to improve reliability and speed
|
883 | - Add ability to detect screen orientation
|
884 | - Make sure Selendroid mode doesn't lose connection through adb when network changes
|
885 | - Make sure the release action in a touch action chain doesn't happen in the wrong place
|
886 | - Make application install more reliable
|
887 | - Fix screenshot on Windows
|
888 | - Make Chromedriver connect on a random port if none specified
|
889 |
|
890 |
|
891 |
|
892 | CHANGES IN VERSION 1.5.3 (from 1.5.2)
|
893 | ===================================
|
894 |
|
895 | *NOTE*: Appium 1.5.3 is primarily a bug-fix release.
|
896 |
|
897 | It also adds functionality to support for iOS [WKWebViews](https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/) and for automating the iOS Calendar app, as well as adding a capability to use `abd` for screenshots in Android web/hybrid sessions, selecting the correct version of Android emulator, and providing a list of Android activities to wait for on session startup.
|
898 |
|
899 | Further, Android session reporting is increased, so that automation clients can get the device UDID for the automation session, as well as the currently running `appPackage` and `appActivity`.
|
900 |
|
901 | #### General
|
902 | - Allow `--default-capabilities` server argument to specify a file containing the default capabilities.
|
903 | - Fix handling of statuses from proxied drivers (Chrome, Selendroid, etc.).
|
904 | - Fix handling of `browserName` capability for Selenium Grid usage.
|
905 | - Fix intermittent bug where creating a directory might crash the server.
|
906 | - Fix handling of `--session-override` server argument.
|
907 |
|
908 | #### iOS
|
909 | - Add support for `WKWebView`-based webviews.
|
910 | - Add support for automating the built-in Calendar app.
|
911 | - Fix `ios-debug-proxy-launcher`.
|
912 | - Fix bug where scrolling in Safari would crash.
|
913 | - Fix handling of Safari in "new window" state.
|
914 | - Fix handling of arguments for `keys` method so that clients that send an array do not fail.
|
915 | - Clean up handling of `ipa` files for real device tests.
|
916 | - Make sure `processArguments` parsing works.
|
917 | - Fix iwd script to allow re-running.
|
918 |
|
919 | #### Android
|
920 | - Add `nativeWebScreenshot` capability, to use `adb` screenshots instead of ChromeDriver if necessary.
|
921 | - Add support to auto-select device based on `platformVersion` rather than using first available device.
|
922 | - Allow `appWaitActivity` to be a list of activities
|
923 | - Fix setting wifi and data state
|
924 | - Implement `initAutoWebView` capability.
|
925 | - Report `appPackage`, `appActivity`, and `deviceUDID` when requesting session details.
|
926 | - Make sure unlock app is closed at the end of a session so that the device works again.
|
927 | - Fix handling of unlock to make less flakey.
|
928 | - Make sure unicode encoding works correctly when strings are long.
|
929 | - Fix handling of `disableAndroidWatchers` capability.
|
930 | - Fix killing ChromeDriver on Ubuntu 16.04.
|
931 | - Fix bug where early ChromeDriver failure crashed Appium.
|
932 |
|
933 |
|
934 |
|
935 | CHANGES IN VERSION 1.5.2 (from 1.5.1)
|
936 | ===================================
|
937 |
|
938 | *NOTE*: Appium 1.5.2 is a bug-fix release.
|
939 |
|
940 | #### General
|
941 | - deprecated `--command-timeout`. Use `newCommandTimeout` desired capability instead
|
942 | - ensure implicit wait can be set through `timeout` method
|
943 | - add better logging for `EPIPE` errors
|
944 |
|
945 | #### iOS
|
946 | - make sure `ipa` files are handled correctly for installing on real devices
|
947 | - ensure that existing SafariLauncher on device is used instead of rebuilding and reinstalling
|
948 | - fix issues with getting webview contexts on real devices
|
949 | - add full timeout support through `timeout` method
|
950 | - make sure Xpath searches respect implicit wait timeout
|
951 | - make sure bare Instruments process arguments are accepted
|
952 |
|
953 | #### Android
|
954 | - fix failure when `apk` file is too large
|
955 | - re-implement setting geolocation so it does not use Telnet.
|
956 | - add support for Chromium browser
|
957 | - fix issues with `flick`
|
958 | - fix bug where touch action `release` would throw an error
|
959 | - fix bug in later Android SDK version where noticing a newly started avd would fail
|
960 | - implement `autoWebviewTimeout`
|
961 |
|
962 |
|
963 |
|
964 | CHANGES IN VERSION 1.5.1 (from 1.5)
|
965 | ===================================
|
966 |
|
967 | *NOTE*: Appium 1.5.1 is a bug-fix release.
|
968 |
|
969 | #### General
|
970 | - allow `platformName` to be any case
|
971 | - Windows process handling is cleaned up
|
972 | - Desired capabilities `language` and `locale` added
|
973 |
|
974 | #### iOS
|
975 | - iOS 9.3 (Xcode 7.3) support
|
976 | - Fix handling of return values from `executeScript` in Safari
|
977 | - Don't stop if Instruments doesn't shut down in a timely manner
|
978 | - Escape single quotes in all methods that set the value on an element
|
979 | - Allow custom device names
|
980 | - Make full use of process arguments to Instruments
|
981 | - Pass `launchTimeout` to Instruments when checking devices
|
982 |
|
983 | #### Android
|
984 | - Make use of `--bootstrap-port` server argument
|
985 | - Fix `keystorePassword` capability to allow a string
|
986 | - Fix handling of localization in Android 6
|
987 | - Use Appium's unlock logic for Chrome sessions
|
988 | - Make sure reset works
|
989 | - Make unlock more reliable for later versions of Android
|
990 | - Allow Xpath searching from the context of another element
|
991 | - Make full use of process arguments to adb
|
992 | - Better error messages when ChromeDriver fails to start
|
993 |
|
994 | CHANGES IN VERSION 1.5 (from 1.4.16)
|
995 | ======================================
|
996 |
|
997 | *NOTE*: Appium 1.5 is a complete rewrite of Appium from the ground up. Every
|
998 | effort has been made to avoid any breaking changes but caution should be
|
999 | exercised. Please let us know on GitHub if you notice any issues with your
|
1000 | tests.
|
1001 |
|
1002 | #### General
|
1003 | - Appium now requires Node 0.12 as a minimum Node version
|
1004 | - Deprecate server arguments that are also desired capabilities. Instead, add
|
1005 | a `--default-capabilities` argument which takes a JSON string of capabilities
|
1006 | that will be the default for any session. E.g., `--default-capabilities '{"launchTimeout": 60000}'`
|
1007 | - Various docs and contributing docs updates (including a code of conduct for
|
1008 | the project)
|
1009 | - Add capability validation on the protocol and driver level. Along with this
|
1010 | we have tightened up requirements on capability values so that they can be
|
1011 | strictly validated. For example, before you were able to send in a string
|
1012 | value of `"180"` for the `newCommandTimeout` capability. Now you must send in
|
1013 | an actual JSON number, e.g., `180`.
|
1014 | - Remove the `autoLaunch` capability since it added a significant
|
1015 | amount of complexity to the startup flow and Appium shouldn't be responsible
|
1016 | for this kind of use case
|
1017 | - Remove long-deprecated `name` locator strategy
|
1018 | - Remove long-deprecated `mobile: xxx` gesture commands, except scroll
|
1019 |
|
1020 | #### iOS
|
1021 | - add Tapster support for some more touch methods
|
1022 | - fix moveTo: treat coordinates as relative, instead of absolute
|
1023 | - iPhone 6 + 6S support
|
1024 | - iOS 9.3 support
|
1025 |
|
1026 | #### Android
|
1027 | - enable navigating to an android URI via the set url driver methods, e.g.,
|
1028 | driver.get('content://contacts/people/1')
|
1029 | - fix some adb issues in Windows (e.g., `signWithCustomCert`, sdk binary names)
|
1030 | - fix issue with UIWatcher ssl certificate errors
|
1031 | - if you want to install all chromedrivers, use --chromedriver-install-all; if
|
1032 | you want to install a specific chromedriver version, use
|
1033 | --chromedriver-version="$VER"
|
1034 | - `driver.closeApp` no longer runs through the shutdown routine; it simply
|
1035 | force-stops the app
|
1036 | - The `ANDROID_ADB_SERVER_PORT` environment variable has been removed in favor
|
1037 | of the `adbPort` desired capability, which does the same thing.
|
1038 |
|
1039 | #### Non-exhaustive examples of internal changes
|
1040 | - see the [developer's
|
1041 | overview](/docs/en/contributing-to-appium/developers-overview.md) for
|
1042 | a fuller description of Appium 1.5 from a developer's perspective
|
1043 | - get rid of reset.sh and various other appium build tools in favor of a simple
|
1044 | npm install
|
1045 | - split apart Appium into various smaller modules each with their own
|
1046 | repositories and NPM packages
|
1047 | - use gulp instead of grunt
|
1048 | - use babel to transpile from es2015+ to standard es5 code
|
1049 | - get rid of .appiumconfig.json
|
1050 |
|
1051 | CHANGES IN VERSION 1.4.16 (from 1.4.15)
|
1052 | ===================================
|
1053 |
|
1054 | #### iOS
|
1055 | - fix for safari and webview issues for 9.2
|
1056 |
|
1057 | CHANGES IN VERSION 1.4.15 (from 1.4.14)
|
1058 | ===================================
|
1059 |
|
1060 | #### iOS
|
1061 | - fix for safari and webview issues in iOS9+
|
1062 |
|
1063 | CHANGES IN VERSION 1.4.14 (from 1.4.13)
|
1064 | ===================================
|
1065 |
|
1066 | #### iOS
|
1067 | - support for iOS9.2
|
1068 | - fix for webview, resolving context issues in iOS9+
|
1069 |
|
1070 | #### Selendroid
|
1071 | - upgrade to Selendroid 0.17.0.
|
1072 |
|
1073 | CHANGES IN VERSION 1.4.13 (from 1.4.12)
|
1074 | ===================================
|
1075 |
|
1076 | #### Chromedriver
|
1077 | - Setting appium-chromedriver version to 2.3.2 as it is stable on Node version 0.10.32
|
1078 |
|
1079 | CHANGES IN VERSION 1.4.12 (from 1.4.11)
|
1080 | ===================================
|
1081 |
|
1082 | #### iOS
|
1083 | - support for iOS9.1
|
1084 | - fix for iOS simulator with similar device names on Xcode 7
|
1085 | - fix to idevicelog (real device) to record logs only for device under test
|
1086 |
|
1087 | CHANGES IN VERSION 1.4.11 (from 1.4.10)
|
1088 | ===================================
|
1089 |
|
1090 | #### iOS
|
1091 | - fix for iOS simulator selector for Xcode 7
|
1092 | - fix for selecting default device for iOS9
|
1093 |
|
1094 | CHANGES IN VERSION 1.4.10 (from 1.4.9)
|
1095 | ===================================
|
1096 |
|
1097 | #### General
|
1098 | - fixed bug in a config file accidentally published in version 1.4.9
|
1099 |
|
1100 | CHANGES IN VERSION 1.4.9 (from 1.4.8)
|
1101 | ===================================
|
1102 |
|
1103 | #### iOS
|
1104 | - support for iOS9 and xcode 7
|
1105 | - at this point instruments-without-delay is not supported for xcode-7
|
1106 |
|
1107 | CHANGES IN VERSION 1.4.8 (from 1.4.7)
|
1108 | ===================================
|
1109 |
|
1110 | #### General
|
1111 | - fix for Windows users! Now the system architecture is properly detected, npm installs should work again
|
1112 |
|
1113 | #### Chromedriver / Android hybrid
|
1114 | - fix for an issue in responding to `/status` api endpoint, this is used heavily by Selenium grid
|
1115 |
|
1116 | CHANGES IN VERSION 1.4.7 (from 1.4.6)
|
1117 | ===================================
|
1118 |
|
1119 | #### Chromedriver / Android hybrid
|
1120 | - fix for problem in downstream jsonwp-proxy; now sessionId returned is replaced
|
1121 | with sessionId present in url(original sessionId). Fixed this in appium-jsonwp-proxy 1.2.3
|
1122 |
|
1123 | CHANGES IN VERSION 1.4.6 (from 1.4.5)
|
1124 | ===================================
|
1125 |
|
1126 | #### General
|
1127 | - this is a republish because of a misconfiguration before 1.4.5 got published
|
1128 | resulting in a server startup failure
|
1129 |
|
1130 |
|
1131 | CHANGES IN VERSION 1.4.5 (from 1.4.4)
|
1132 | ===================================
|
1133 |
|
1134 | #### General
|
1135 | - fix problem with npm shrinkwrap that caused Appium not to start
|
1136 |
|
1137 |
|
1138 | CHANGES IN VERSION 1.4.4 (from 1.4.3)
|
1139 | ===================================
|
1140 |
|
1141 | #### Chromedriver / Android hybrid
|
1142 | - fix a problem in downstream appium-chromedriver; no longer rely on async
|
1143 | methods returning objects of the Promise type. This was causing undefined
|
1144 | errors when running Chromedriver/hybrid tests.
|
1145 |
|
1146 |
|
1147 | CHANGES IN VERSION 1.4.3 (from 1.4.2)
|
1148 | ===================================
|
1149 |
|
1150 | #### iOS
|
1151 | - update the appium-instruments dependency with working subdeps
|
1152 |
|
1153 |
|
1154 | CHANGES IN VERSION 1.4.2 (from 1.4.1)
|
1155 | ===================================
|
1156 |
|
1157 | #### General
|
1158 | - update ES6-based dependencies which got bit by a breaking Regenerator
|
1159 | change
|
1160 |
|
1161 | #### iOS
|
1162 | - keep track of the correct app ID for Safari webviews (fixes problems in
|
1163 | finding the webview for iOS)
|
1164 |
|
1165 | #### Android
|
1166 | - fix sendKeys and clear for Samsung devices
|
1167 |
|
1168 |
|
1169 | CHANGES IN VERSION 1.4.1 (from 1.4)
|
1170 | ===================================
|
1171 |
|
1172 | #### Chromedriver
|
1173 | - have the appium-chromedriver manage the chromedriver binary download/install
|
1174 |
|
1175 |
|
1176 | CHANGES IN VERSION 1.4 (from 1.3.7)
|
1177 | ======================================
|
1178 |
|
1179 | #### General
|
1180 | - fix for broken `./reset.sh --dev` due broken UICatalog build package in sample-code submodule
|
1181 | - fix for issues with cookie encoding
|
1182 | - updated sample code
|
1183 | - updated documentation
|
1184 | - updated test suite
|
1185 | - deprecate node 0.10
|
1186 |
|
1187 | #### iOS
|
1188 | - support for iOS 8.3
|
1189 | - deprecate iOS 6.1 and iOS 7.0 (support will be removed soon, probably 1.5)
|
1190 | - deprecate Xcodes less than 6.3 (moving to support of latest versions only,
|
1191 | and Xcode 6.3+ together allows automation of all supported iOS versions). The
|
1192 | only exception to this is the combination of Xcode 6.0.1 + iOS 8.0.
|
1193 | - fix for issues relating to finding xcode folder and Info.plist
|
1194 | - new sever flag `--instruments <path>` to specify custom path to instruments commandLine tool
|
1195 | - fix for getOrientation
|
1196 | - fix for iOS crash log retrieval
|
1197 |
|
1198 | #### Android
|
1199 | - fix for killing chromedriver on windows
|
1200 | - fix for parsing java version correctly
|
1201 | - support for searching elements by id without passing package name
|
1202 | - requesting capabilities from server now returns correct deviceName and platformVersion for Android
|
1203 | - fix for scrollTo
|
1204 | - new capability `disableAndroidWatchers`
|
1205 | - deprecated capability `stopAppOnReset`
|
1206 | - new capability `dontStopAppOnReset`
|
1207 | - fix a crash possibly encountered during extracting app strings
|
1208 | - new server argument `suppress-adb-kill-server`
|
1209 | - fix issue with `keys()`; now it correctly targets currently-focused element
|
1210 |
|
1211 | #### Selendroid
|
1212 | - Support for installApp, isAppInstalled and removeApp
|
1213 |
|
1214 | #### Android+Chrome
|
1215 | - Chormedriver version updated to 2.15
|
1216 | - fix for driver.quit()
|
1217 | - use the correct ADB path already identified by Appium
|
1218 |
|
1219 | #### iOS+Safari
|
1220 | - fix for handling real device object
|
1221 | - fix for safariAllowPopups for iOS 8.x
|
1222 | - reduce logging in remote debugger for real devices, and don't use console.log
|
1223 | - fix issues with SafariLauncher on real devices
|
1224 | - fix execute_async so that it now works at all
|
1225 |
|
1226 | CHANGES IN VERSION 1.3.7
|
1227 | ======================================
|
1228 |
|
1229 | #### General
|
1230 | - fix failure to remap session id in proxied responses
|
1231 |
|
1232 | #### iOS
|
1233 | - fix intermittent failure to find Xcode
|
1234 |
|
1235 | CHANGES IN VERSION 1.3.6
|
1236 | ======================================
|
1237 |
|
1238 | #### Android
|
1239 | - fix XPath regression where Appium failed to recognize non-ASCII characters
|
1240 | - fix regression where Appium failed to set ADB's path during Chromedriver tests
|
1241 |
|
1242 | CHANGES IN VERSION 1.3.5
|
1243 | ======================================
|
1244 |
|
1245 | #### iOS
|
1246 | - fix for a bug when driver.get() never returns for page with alert.
|
1247 | - iOS 8.2 support.
|
1248 | - fixed safari startup crashes.
|
1249 | - ensure Appium drops into the right continuation cb when selecting hybrid contexts.
|
1250 |
|
1251 | #### Android
|
1252 | - now finds the location of adb earlier.
|
1253 | - ensure encoding stream in Bootstrap.jar closes correctly.
|
1254 | - add workaround for issue where UiAUtomator fails to find visible elements.
|
1255 | - fixed undefined member error for the release object.
|
1256 | - add a delete key test.
|
1257 |
|
1258 | #### Selendroid
|
1259 | - upgrade to Selendroid 0.13.0.
|
1260 |
|
1261 | CHANGES IN VERSION 1.3.4
|
1262 | ======================================
|
1263 |
|
1264 | #### General
|
1265 | - better handling of session closing.
|
1266 | - tmp dir customization via env variable.
|
1267 | - app/browserName error message fix.
|
1268 | - functional test fixes.
|
1269 |
|
1270 | #### iOS
|
1271 | - allow location services in zip file.
|
1272 | - ensure a string is returned from iOS getText.
|
1273 | - simpler device type detection logic.
|
1274 | - screenshotWaitTimeout cap
|
1275 | - added ios-webkit-debug-proxy launcher to go round libidevice 8.1 bugs
|
1276 | - waitForAppScript capability.
|
1277 | - syslog fix
|
1278 | - getStrings refactoring
|
1279 | - simulator folder fix
|
1280 | - doctor support for OSX 10.10.1
|
1281 |
|
1282 | #### Android
|
1283 | - exec refactoring.
|
1284 | - uses for latest apktool (2.0.0-RC2) when Java 7 is detected.
|
1285 | - ADB.jars refactored into instance property.
|
1286 | - smart keyboard closing fix.
|
1287 | - added support for getting the resourceId attribute of an element.
|
1288 | - clear text fix for large centered edit fields.
|
1289 | - better handling of errors in clear text.
|
1290 | - ensure an already-running Android device's language and country settings are correct.
|
1291 | - fixed unknown server-side error is thrown when the XPath expression doesn't match any nodes.
|
1292 | - better error handling is SetText
|
1293 | - edit + clear fields with hint text fix.
|
1294 | - make hideKeyboard do nothing when keyboard is present but not closable (has no UI).
|
1295 |
|
1296 | #### Selendroid
|
1297 | - upgrade to Selendroid 0.12.0.
|
1298 | - throws when getting a redirect from Selendroid.
|
1299 | - added hideKeyboard support.
|
1300 | - uses for latest apktool (2.0.0-RC2) when Java 7 is detected.
|
1301 |
|
1302 | CHANGES IN VERSION 1.3.3 (from 1.3.1)
|
1303 | ======================================
|
1304 |
|
1305 | #### General
|
1306 | - fix several internal Appium tests
|
1307 | - add a sendKeyStrategy capability to allow testers to enable less reliable, but faster sendKey method
|
1308 | - add handling for safeRimRafSync ENOENT mesages
|
1309 | - clean up sessions when session clobbering enabled
|
1310 | - fix stripping log colors on --stripColors
|
1311 | - create system logs file before tailing it
|
1312 |
|
1313 | #### iOS
|
1314 | - fix issue where driver.current_context is `null` for native app context
|
1315 | - fix bug that prevents closing tabs in Safari
|
1316 | - fix log capture when Appium starts a simulator for the first time
|
1317 | - add OSX 10.10 and iOS8 support for Appium Doctor
|
1318 | - fix inability to open Safari on a real device
|
1319 |
|
1320 | #### Android
|
1321 | - fix arg and cap parsing when passing arguments to adb
|
1322 | - add support for passing elements as targets for swipe actions
|
1323 | - correctly calculate relative position of swipe targets
|
1324 | - ensure ChromeDriver instances are properly terminated
|
1325 | - fix appPackage parsing error with overlapping namespaces
|
1326 | - fix TouchAction release bug when released element is not valid
|
1327 | - ensure `logcat` correctly appended to command string
|
1328 |
|
1329 | #### Selendroid
|
1330 | - add comment to caps page, and to running tests page, to note the need for a period before an activity
|
1331 |
|
1332 | CHANGES IN VERSION 1.3.2
|
1333 | =====================================
|
1334 |
|
1335 | #### Patch number skipped due to NPM error
|
1336 |
|
1337 | CHANGES IN VERSION 1.3.1 (from 1.3.0)
|
1338 | =====================================
|
1339 |
|
1340 | #### iOS
|
1341 | - fixed a bug where appium could hang if the 'full-reset' and 'keepKeychain' capabilities were both used on ios8.1
|
1342 | - default context now set to `NATIVE_APP` instead of being null
|
1343 |
|
1344 | #### Android
|
1345 | - fix bugs which arise from spaces in the path to `adb` tool
|
1346 | - fix detection of whether the screen is locked
|
1347 | - fix an error with running remote apk's on Windows
|
1348 |
|
1349 | CHANGES IN VERSION 1.3.0 (from 1.2.4)
|
1350 | ======================================
|
1351 |
|
1352 | #### General
|
1353 | - allow `full-reset` desired capability to work alongside `language`/`locale` desired capabilities
|
1354 |
|
1355 | #### iOS
|
1356 | - add iOS 8 support
|
1357 | - add support for launching an app on the sim just by bundleId (iOS8 only)
|
1358 | - ensure screenshot process uses dir specified in --tmp
|
1359 | - add --isolate-sim-device which removes all other xcode 6 simulators
|
1360 | before running test (might be necessary for some platforms)
|
1361 | - update mobile safari temp app to include platformVersion so we don't get
|
1362 | strange version conflicts
|
1363 | - reset push notification privacy settings in between sessions
|
1364 | - fix the flakiness of getting a list of available devices
|
1365 | - auto-refresh Safari if no webviews are found
|
1366 | - rewrite cookie handling code to use code derived from jQuery instead of mozilla docCookie
|
1367 | - force device string when device name starts with "="
|
1368 | - fix a security hole in pullFile() where users could download files on the machine hosting appium
|
1369 |
|
1370 | #### Android
|
1371 | - fix Chromedriver to work with newer versions
|
1372 | - Chromedriver will work if adb is not running on default port
|
1373 | - speed up clearing text fields when there is hint text
|
1374 |
|
1375 | #### Selendroid
|
1376 | - fix sendKeys() in CHROMIUM context
|
1377 | - fix getContexts()
|
1378 |
|
1379 | CHANGES IN VERSION 1.3.0-beta1 (from 1.2.3)
|
1380 | ======================================
|
1381 |
|
1382 | #### General
|
1383 | - add objective-c examples
|
1384 |
|
1385 | #### iOS
|
1386 | - update appium-instruments with logging fixes
|
1387 | - add iOS 8 support
|
1388 | - add support for launching an app on the sim just by bundleId (iOS8 only)
|
1389 | - ensure screenshot process uses dir specified in --tmp
|
1390 | - add --isolate-sim-device which removes all other xcode 6 simulators
|
1391 | before running test (might be necessary for some platforms)
|
1392 | - update mobile safari temp app to include platformVersion so we don't get
|
1393 | strange version conflicts
|
1394 | - reset push notification privacy settings in between sessions
|
1395 |
|
1396 |
|
1397 | CHANGES IN VERSION 1.2.4 (from 1.2.3)
|
1398 | ======================================
|
1399 |
|
1400 | #### General
|
1401 | - add objective-c examples
|
1402 |
|
1403 | #### iOS
|
1404 | - update appium-instruments with logging fixes
|
1405 | - update appium-instruments with getDevices stalling fix
|
1406 |
|
1407 | #### Android
|
1408 | - give better error for UiScrollable parse exception
|
1409 | - fix UiSelector instance in finds
|
1410 | - use last coordinates for touch release
|
1411 |
|
1412 |
|
1413 | CHANGES IN VERSION 1.2.3 (from 1.2.2)
|
1414 | ======================================
|
1415 |
|
1416 | #### General
|
1417 | - add a settings api (used currently only for Android xpath compression)
|
1418 | - add configurable loglevels for different transports
|
1419 | - allow appium to be run under sudo if the sudo user owns the appium files
|
1420 |
|
1421 | #### iOS
|
1422 | - fix crash while recovering from instruments failure
|
1423 | - add ability to launch app by 'bundleId' cap alone (no 'app' cap)
|
1424 | - misc groundwork for iOS8
|
1425 | - fix bug that prevented scrolling collectionViews
|
1426 | - more crash recovery bugfixes
|
1427 | - use 'click' atom in webviews, 'tap' sent two clicks
|
1428 | - fix bug where we'd try to kill a null logging proc and crash
|
1429 | - enable performance logs for webviews
|
1430 | - allow automation of native frame in safari (actually works on 7.1!)
|
1431 | - fix uiautomation predicate search bug
|
1432 | - fix 'spawn ENOENT' bug caused by a missing deviceconsole binary
|
1433 | - fix autoAcceptAlert bug
|
1434 | - fix certain findElement crashes
|
1435 | - fix hideKeyboard bugs
|
1436 |
|
1437 | #### Android
|
1438 | - fix issue with unzipping apk
|
1439 | - add ability to launch arbitrary apps/activities mid-session
|
1440 | - add lock() method to lock screen
|
1441 | - add unlock() method to unlock screen
|
1442 | - fix bug where app would be classified incorrectly as not installed
|
1443 | - add settings api member for setting layout hierarchy compression
|
1444 | - fix crash when touch actions attempted on webviews
|
1445 | - undo setText changes and simply handle hint text fields better
|
1446 |
|
1447 | #### Selendroid
|
1448 | - fix --selendroid-quick reset.sh option
|
1449 | - fix unicode keyboard issues
|
1450 | - fix bug in getting window_handles
|
1451 | - fix bug that would prevent launching an app with spaces in its apk path
|
1452 |
|
1453 |
|
1454 | CHANGES IN VERSION 1.2.2 (from 1.2.1)
|
1455 | ======================================
|
1456 |
|
1457 | #### General
|
1458 | - add doc for running on multiple devices simultaneously
|
1459 | - move sample code and sample apps out of the main appium repo
|
1460 | - remove http request size limit
|
1461 |
|
1462 | #### iOS
|
1463 | - check to make sure an element is not UIAElementNil before returning it
|
1464 | - add a configurable key delay to help with keyboard smudging
|
1465 | - fix issue with deleting cookies in mobile safari
|
1466 | - correct sendKeys behavior not to clear text before sending keys
|
1467 | - remove 'iwebview' support, since automating safari works
|
1468 | - fix bug where apostraphes in accessibility ids caused elements not to be
|
1469 | found
|
1470 | - use deviceconsole instead of idevicesyslog to capture ios logs
|
1471 | - fix bug where automating safari on a real device would hang forever and never
|
1472 | start a session
|
1473 | - fix bug where getting text() on a textfield would return its label instead of
|
1474 | its value
|
1475 |
|
1476 | #### Android
|
1477 | - cache Chromedriver webview objects so we don't need to start a new
|
1478 | Chromedriver on every context switch
|
1479 | - correct sendKeys behavior not to clear text before sending keys
|
1480 | - allow chromeOptions cap object to be passed to chromedriver
|
1481 | - download all chromedriver architectures for linux (32 and 64 bit)
|
1482 | - make sure we stop adb logcat logging when ending a chrome session so we don't
|
1483 | leak processes
|
1484 | - add noSign capability to skip the apk resigning process
|
1485 | - add setText method that will clear a text field before adding text; this is
|
1486 | primarily useful for textfields with hint text where clear() does not work
|
1487 | in general
|
1488 | - move xpath parsing into the android bootstrap, for fewer bugs and greater
|
1489 | reliability. NOTE: this could be a breaking change depending on the kind of
|
1490 | xpath selectors you are using
|
1491 | - clean android XML tags of invalid characters like '$'
|
1492 | - fix bug where '&' would be sent into a textfield as '&-'
|
1493 | - add isLocked method to determine whether screen is locked
|
1494 | - add ability to automate the native portion of the Chrome/Browser apps
|
1495 |
|
1496 | #### Selendroid
|
1497 | - make sure the contact manager test app has the required internet permissions
|
1498 |
|
1499 |
|
1500 | CHANGES IN VERSION 1.2.1 (from 1.2.0)
|
1501 | ======================================
|
1502 |
|
1503 | #### General
|
1504 | - fix up sample code
|
1505 | - bring back support for autoLaunch=false case
|
1506 | - reset commandTimeout during implicit wait cycles
|
1507 | - remove deprecated window_handles methods
|
1508 | - add --local-timezone flag that uses timezone for timestamps
|
1509 | - add a configurable --callback-address and --callback-port for execute_async
|
1510 | - update setLocation method to use correct spec params for geolocation
|
1511 | - add networkConnection to server capabilities so clients can use the API
|
1512 | - if boolean cap values are sent in as strings, convert them to boolean
|
1513 |
|
1514 | #### iOS
|
1515 | - fix bug where we waited for safari7 dirs when we weren't on ios7.x
|
1516 | - improve deviceName flexibility and device recognition
|
1517 | - make sure instruments and uiauto know about the tmp dir flag
|
1518 | - fix install/uninstall logic for real ios device
|
1519 | - fix bug with parsing of binary vs XML plists
|
1520 | - fix handling of multiple taps
|
1521 | - clean up iOS simulator log
|
1522 | - fix hang when ending a real safari session
|
1523 | - implement pushFile for ios
|
1524 | - allow .ipa in the list of downloadable app types
|
1525 | - retry getting screenshot if it fails
|
1526 | - fix JavaScript error when using sendKeys
|
1527 | - fix error where testsuite would kill appium in its ios reset cycle
|
1528 | - fix error in getting localized strings
|
1529 |
|
1530 | #### Android
|
1531 | - fix handling of IME activation
|
1532 | - fix chromedriver kill logic
|
1533 | - support API level 10 style focused activity strings
|
1534 | - add lots of fallback strategies for element.clear()
|
1535 | - update api level dependency for the project to 19
|
1536 | - add fallback strategies for finding app activity from AndroidManifest
|
1537 | - fix bug with xpath searches for //*
|
1538 | - fix xpath search bugs, now we use UiAutomator's instance() which is more
|
1539 | reliable
|
1540 | - fix grunt-helpers bug when building appium on windows
|
1541 | - retry all adb commands to make all adb commands less flakey
|
1542 | - upgrade chromedriver to 2.10
|
1543 |
|
1544 | #### Selendroid
|
1545 | - fix for setValue and getContexts methods, they were not using a custom
|
1546 | selendroid port if active
|
1547 | - selendroid now requires internet permission in apps; fail if it's not
|
1548 | present
|
1549 | - add custom keystore support
|
1550 | - upgrade selendroid to 0.11.0
|
1551 |
|
1552 |
|
1553 | CHANGES IN VERSION 1.2.0 (from 1.1.0)
|
1554 | ======================================
|
1555 |
|
1556 | #### General
|
1557 | - migrated to express 4 for the webserver
|
1558 | - allow setting tmp dir with --tmp flag
|
1559 | - upgrade many submodules including wd
|
1560 | - add --strict-caps mode which will cause sessions to fail which send in
|
1561 | bad or unknown caps
|
1562 | - add error handling for invalid multi-pointer gestures
|
1563 | - add autoWebview capability to automatically get into a webview context of a
|
1564 | hybrid app
|
1565 | - remove deprecated -real xpath locator strategy
|
1566 | - allow bypassing appium's sudo checks
|
1567 | - add generic crash handler
|
1568 | - many documentation and sample code updates
|
1569 |
|
1570 | #### iOS
|
1571 | - prevent log lines without dates from being filetered out
|
1572 | - add keepAppToRetainPrefs cap to avoid deleting location plists
|
1573 | - check for accessibility id matching selector then fall back to string match
|
1574 | - add flag for specifying where in .app hierarchy Localizable.strings is
|
1575 | - use a dynamic bootstrap in appium-uiauto
|
1576 | - upgrade mechanic
|
1577 | - implement pullFolder to get an entire folder from the sim
|
1578 | - make sure launchAndKill can wait for specified directories before killing sim
|
1579 | - get rid of ForceQuitInstruments
|
1580 | - update hideKeyboard to take various possible strategies
|
1581 | - fix launchAndKill to wait for safari-specific directories
|
1582 | - make sure all pageload timeouts are cleared and called only once
|
1583 | - disable ios grace delay
|
1584 | - don't return duplicate elements
|
1585 |
|
1586 | #### Android
|
1587 | - renamed keyevent to press_keycode and long_press_keycode
|
1588 | - add dedupe to complex_find
|
1589 | - fix activity-finding logic
|
1590 | - fix error handling in installApp
|
1591 | - extract adb code into its own package, appium-adb
|
1592 | - add support for opening notifications
|
1593 | - add automation support for embedded chromium
|
1594 | - fix pushStrings to work with 'app' as package
|
1595 | - fix id serach
|
1596 | - cause appium to fail if we can't parse package/activity
|
1597 | - add package name to android webview context
|
1598 | - make sure UNZIP env var doesn't confuse our internal unzip calls
|
1599 | - add appIntent etc capabilities so app can be launched with a certain intent
|
1600 | - add IME methods, and an appium-specific IME that is automatically installed
|
1601 | - add unicodeKeyboard capability which allows sending unicode text
|
1602 | - fix installApp, prevent a server crash
|
1603 |
|
1604 | #### Selendroid
|
1605 | - faster selendroid installer
|
1606 |
|
1607 |
|
1608 | CHANGES IN VERSION 1.1.0 (from 1.0.0)
|
1609 | ======================================
|
1610 |
|
1611 | #### General
|
1612 | - less buggy xcode locator strategy for iOS and Android
|
1613 | - note that for Android this might cause previous xpath selectors not to
|
1614 | work, since we now always set compressed hierarchy when getting the xml
|
1615 | dump used for xpath
|
1616 | - fix defaults for swipe duration
|
1617 | - add fixes for context switching
|
1618 | - add optional argument 'language' to getStrings
|
1619 | - update docs and code samples (including adding perl code samples)
|
1620 | - continue work on appium CI
|
1621 | - make sure we can't close already ended sessions
|
1622 | - upgrade all node deps besides express
|
1623 |
|
1624 | #### iOS
|
1625 | - add `-ios uiautomation` strategy doc
|
1626 |
|
1627 | #### Android
|
1628 | - allow for encoding of non-ASCII text
|
1629 | - clearer activity error messages
|
1630 | - add language and country support
|
1631 | - extract strings from apk corresponding to device language instead of default
|
1632 | to be used with ID locator strategy
|
1633 | - update complex find with new uiautomator constants
|
1634 | - upgrade Chromedriver to 2.10
|
1635 | - allow automation of Chrome Beta with browserName: `ChromeBeta`
|
1636 |
|
1637 | #### Selendroid
|
1638 | - update selendroid to 0.10.0
|
1639 | - add getStrings method
|
1640 |
|
1641 |
|
1642 | CHANGES IN VERSION 1.0.0 (from 1.0.0-beta.2)
|
1643 | =======================================
|
1644 |
|
1645 | #### General
|
1646 | - update python samples to use 1.0 style
|
1647 | - don't convert 'proxy' or 'launchTimeout' caps into strings
|
1648 | - make sure commit hooks use local grunt and mocha
|
1649 | - update some ruby samples to use 1.0 style
|
1650 | - add more 1.0 docs and sample code
|
1651 |
|
1652 | #### iOS
|
1653 | - fix mobile safari native tap on android by offsetting tap position by 40px
|
1654 | - go back to using unpatched UICatalog
|
1655 | - fix autoAcceptAlerts
|
1656 | - allow multiple calls to /contexts
|
1657 | - update appium-instruments with fix that would prevent the basic 'iPhone
|
1658 | Simulator' device from launching correctly
|
1659 |
|
1660 | #### Android
|
1661 | - fix gesture timing so it doesn't interpret ms as seconds
|
1662 |
|
1663 | #### Selendroid
|
1664 | - ensure selendroid isn't proxied appium endpoint commands
|
1665 |
|
1666 |
|
1667 | CHANGES IN VERSION 1.0.0-beta.2 (from 1.0.0-beta.1)
|
1668 | =======================================
|
1669 |
|
1670 | #### General
|
1671 | - extensive docs updates (make it ready for the new Slate docs)
|
1672 | - decode sequence of actions to native "swipe" method
|
1673 | - fix valid platform error message
|
1674 | - update WD dep
|
1675 | - fix proxying when session id is null
|
1676 | - allow spaces in appium folder name in reset.sh
|
1677 | - get rid of tag name loc strat in favor of class name
|
1678 |
|
1679 | #### Android
|
1680 | - allow for different input sets to mobile: find
|
1681 | - fix apk signing with custom keystore
|
1682 | - allow MultiActions without an element
|
1683 | - move chrome tests into their own emulator type
|
1684 | - fix async bug in getting xml dump
|
1685 | - use async.queue to ensure synchronicity of commands
|
1686 | - improve DumpWindowHierarchy so xpath queries don't crash
|
1687 |
|
1688 |
|
1689 | CHANGES IN VERSION 1.0.0-beta.1 (from 0.18.0)
|
1690 | =======================================
|
1691 |
|
1692 | #### General
|
1693 | - fix broken log options: --log, --log-no-colors, and --log-timestamp
|
1694 | - update docs to work with Jekyll
|
1695 | - change 'launch' desired cap to 'autoLaunch', same defaults
|
1696 | - fix installApp, launchApp, closeApp, removeApp to use correct app path
|
1697 | - fix bug in action handling for python client
|
1698 | - remove deprecated window handle support for native clients (in favor of contexts)
|
1699 | - remove deprecated old xpath support and promote the '-real xpath' strategy to the
|
1700 | default
|
1701 | - remove deprecated json page source in favor of xml
|
1702 | - remove deprecated mobile methods: location, fireEvent, waitForPageLoad,
|
1703 | findElementNameContains, localScreenshot, getCommandTimeout, findAndAct
|
1704 | - rewrite caps.md doc to use new 1.0 style caps
|
1705 | - remove deprecated --merciful and --device-port flags (add
|
1706 | --force-quit-instruments flag instead of -m)
|
1707 | - lots of docs reorganization and prep for new publishing method
|
1708 | - fix valid platform list
|
1709 | - update npm deps to latest (except for express)
|
1710 | - remove all deprecated "mobile: xxx" commands, except for gestures for now
|
1711 | - use new native methods from WD in testsuite
|
1712 |
|
1713 | #### iOS
|
1714 | - fix bug where iOS < 7.1 would try to ask instruments for available devices
|
1715 | - loosen up sudo check for authorize_ios so it can run without issue under sudo
|
1716 | - rename `nonSyntheticWebClick` cap to `nativeWebTap`, and turn it off by
|
1717 | default
|
1718 |
|
1719 | #### Android
|
1720 | - fix bug with XML page source where it wouldn't create the dump file correctly
|
1721 | - change caps with hyphens (-) like "app-package" to be camelCased like the
|
1722 | rest of Appium caps, e.g., "appPackage"
|
1723 | - fix bug with custom keystore apk signing
|
1724 | - allow multi actions without an element
|
1725 |
|
1726 | #### Selendroid
|
1727 | - fix command timeout bug
|
1728 |
|
1729 |
|
1730 | CHANGES IN VERSION 0.18.0 (from 0.17.6)
|
1731 | =======================================
|
1732 |
|
1733 | *Important*: This is the Appium 1.0 feature-complete pre-release. Please the
|
1734 | discussion group for more context and details about this release and where
|
1735 | Appium is headed in the near future.
|
1736 |
|
1737 | #### General
|
1738 | - disallow use of appium under sudo (except for authorize_ios)
|
1739 | - don't autopopulate node config host (so appium url can be set in nodeconfig)
|
1740 | - many build and test tweaks and fixes to improve build stability
|
1741 | - don't link commit hooks if we're not in a git repo
|
1742 | - add "accessibility id" locator strategy
|
1743 | - get rid of a bunch of unused grunt commands
|
1744 | - deprecate use of JSON page source (XML will be the standard)
|
1745 | - simplify reset strategy and make reset strategies available through caps.
|
1746 | There's now the default (fastReset), fullReset, and noReset.
|
1747 | - deprecate "tag name" locator strategy
|
1748 | - add real xpath support (for now under the "-real xpath" locator strategy)
|
1749 | - deprecate old xpath strategy
|
1750 | - a lot of work on appium CI
|
1751 | - further update new capability handling and device selection; use only the
|
1752 | new caps internally
|
1753 | - implement TouchAction and MultiTouch APIs
|
1754 | - migrate all "mobile: " methods to their own REST endpoints; they are now
|
1755 | deprecated
|
1756 | - don't allow users to send in bad platformNames; fail with an error instead
|
1757 | - allow app paths relative to appium root
|
1758 | - add command-line flags corresponding to the new desired capabilities
|
1759 |
|
1760 | #### iOS
|
1761 | - add "-ios uiautomation" locator strategy
|
1762 | - make backup path for built-in apps in ios 7.0 configurable
|
1763 | - only count one out of the two textfields which compose an ios 7.1 textfield
|
1764 | - introduce a distinction between global and post-launch timeouts for
|
1765 | instruments, to fine-tune flake management
|
1766 | - rewrite screenshot logic
|
1767 | - modify "mobile: scroll" to take an element argument
|
1768 | - fix bug where bundleID would be improperly lowercased
|
1769 | - allow changing of remote debugger ports with env variable
|
1770 | - fix bug in device launching logic that would try to launch an invalid device
|
1771 | as the default
|
1772 | - add "mobile: pullFile" support for retrieving files from the sim folders
|
1773 | - update fruitstrap to a version which doesn't segfault for Japanese
|
1774 |
|
1775 | #### Android
|
1776 | - make sure app is signed before getting MD5 hash for use in on-device install
|
1777 | - ensure that the app is always force-stopped before uninstalling the APK
|
1778 | - add "-android uiautomator" locator strategy
|
1779 | - fix bug involving storing android binary paths incorrectly
|
1780 | - add avdLaunchTimeout and avdReadyTimeout caps to fine-tune these timeouts
|
1781 | - retry launching AVD once if it never connects to adb
|
1782 | - if installing a remote apk fails, uninstall/rm, then retry
|
1783 |
|
1784 |
|
1785 | CHANGES IN VERSION 0.17.6 (from 0.17.6)
|
1786 | =======================================
|
1787 |
|
1788 | #### General
|
1789 | - disallow use of Appium in sudo mode
|
1790 | - ensure publishes happen with a version of Node which doesn't generate
|
1791 | shasum errors in NPM
|
1792 |
|
1793 |
|
1794 | CHANGES IN VERSION 0.17.5 (from 0.17.4)
|
1795 | =======================================
|
1796 |
|
1797 | #### Selendroid
|
1798 | - update Selendroid to 0.9.0
|
1799 |
|
1800 |
|
1801 | CHANGES IN VERSION 0.17.4 (from 0.17.3)
|
1802 | =======================================
|
1803 |
|
1804 | #### General
|
1805 | - fix "mobile: reset"
|
1806 | - use the new Context API (from [the spec
|
1807 | draft](https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile))
|
1808 | for switching back and forth between webviews. The window handles strategy
|
1809 | will be deprecated in 1.0
|
1810 | - update Wd.js to use a version with context support
|
1811 | - sanitize desired caps so they are always a manageable type
|
1812 |
|
1813 | #### iOS
|
1814 | - allow testing of iOS7.1 in Appium's testsuite/test.sh
|
1815 | - don't error out of pref path finding too soon if there are multiple dirs
|
1816 |
|
1817 | #### Android
|
1818 | - fix "mobile: push"
|
1819 | - fix fastReset going undefined between sessions
|
1820 | - add --avd-args server param to pass args to avd on boot
|
1821 | - various fixes for starting avds, including allowing multiple emulators to be
|
1822 | running
|
1823 | - fix getElement() to set isElement to false instead of throwing
|
1824 | - fix touch actions by fixing leaking state across executions
|
1825 | - remove fastClear and run `pm clear` on fastReset
|
1826 |
|
1827 | CHANGES IN VERSION 0.17.3 (from 0.17.2)
|
1828 | =======================================
|
1829 |
|
1830 | #### General
|
1831 | - add new desired capabilities handling to conform to the Selenium 3 spec. Use
|
1832 | of old desired capabilities will now be deprecated. See [the spec
|
1833 | draft](https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile) for more information
|
1834 |
|
1835 | #### Android
|
1836 | - fix process detection
|
1837 | - make sure temp dir exists before writing zipaligned apk to it
|
1838 |
|
1839 | CHANGES IN VERSION 0.17.2 (from 0.17.1)
|
1840 | =======================================
|
1841 |
|
1842 | This is simply a release to make Appium downloadable on npm.
|
1843 |
|
1844 | CHANGES IN VERSION 0.17.1 (from 0.17.0)
|
1845 | =======================================
|
1846 |
|
1847 | #### General
|
1848 | - move toward CI: build appium and run reset.sh on Travis
|
1849 |
|
1850 | #### iOS
|
1851 | - pass quiet flag to fruitstrap when in quiet mode
|
1852 | - update appium-instruments (which fixes retry behavior)
|
1853 |
|
1854 | #### Android
|
1855 | - fix uninstall detection
|
1856 |
|
1857 |
|
1858 | CHANGES IN VERSION 0.17.0 (from 0.16.0)
|
1859 | =======================================
|
1860 |
|
1861 | #### General
|
1862 | - fix maxBuffer error in installApp command
|
1863 | - rearchitect device extraction and configuration from args/caps, and add lots
|
1864 | of unit tests
|
1865 | - show non-default server params in server log for easier debugging
|
1866 | - add --command-timeout as a server arg
|
1867 | - don't ever use sudo to install npm submodules
|
1868 | - ensure appium's CWD is always the appium dir
|
1869 | - clear out commandTimeout between sessions, so subsequent sessions don't count
|
1870 | the session launching time as command time
|
1871 | - set npm submodules to track published branches
|
1872 | - relax requirements for unpacking zipfiles and finding app names
|
1873 |
|
1874 | #### iOS
|
1875 | - handle both binary and xml plists when changing ios settings plists
|
1876 | - break out appium-instruments into its own npm package
|
1877 | - fix bug where command line --force-iphone or --force-ipad wouldn't set
|
1878 | device. This should fix issues with Appium.app
|
1879 | - add --keep-keychains server arg / keepKeychains desired cap in order to
|
1880 | disallow deletion of Keychains dir
|
1881 | - bring reset behavior back to what it was before location services / settings
|
1882 | updates, so that with the default reset, most directories are still cleared
|
1883 | out
|
1884 | - use actual current ios sdk in reset.sh
|
1885 | - create plist basedirs if they don't exist
|
1886 | - add processArguments cap to pass args to AUT
|
1887 | - make --merciful the default
|
1888 | - require bundleId when using location services caps
|
1889 | - update UICatalog test app for 7.1
|
1890 | - fix duplicate textfield issue in iOS 7.1
|
1891 | - use new instruments `- w` param in iOS 7.1 to set device type
|
1892 | - add location and contact alert request buttons to TestApp
|
1893 |
|
1894 | #### iOS+Safari
|
1895 | - update initial webview navigation logic to work on 7.1
|
1896 | - if we start with a real webview, don't try to nav to webview through favs
|
1897 |
|
1898 | #### Android
|
1899 | - added support for 'direction' in scrollTo
|
1900 | - fix source command
|
1901 | - add longClick by position and duration
|
1902 | - fix reset.bat issues on Windows
|
1903 | - updated Windows installation instructions
|
1904 | - added --udid flag to reset.sh/bat, so it can uninstall from specific devices
|
1905 | - added support for touch{Down|Up|Move}
|
1906 | - add "mobile: push" and "mobile: pull" commands to send files to/from device
|
1907 | - ensure apks are always run through zipalign
|
1908 | - parse launch package and activity from apk, so that `app-package` and
|
1909 | `app-activity` caps are no longer required
|
1910 | - use better version of `isAppInstalled`
|
1911 |
|
1912 | #### Chrome+Android
|
1913 | - update bundled chromedriver to 2.9
|
1914 | - add enablePerformanceLogging cap
|
1915 |
|
1916 |
|
1917 | CHANGES IN VERSION 0.16.0 (from 0.15.0)
|
1918 | =======================================
|
1919 |
|
1920 | #### General
|
1921 | - auto-configure the host and port for nodes in an appium grid
|
1922 | - fix usage of temp folders on windows/linux
|
1923 | - allow better usage of reset.sh in windows git-bash
|
1924 | - add linking of pre-commit hook in reset.sh so everyone runs it
|
1925 |
|
1926 | #### iOS
|
1927 | - fix regression where special keys wouldn't be sent
|
1928 | - add `mobile: scroll` with direction: up/down/left/right to scroll views
|
1929 | - display correct error when app install/uninstall fails on real device
|
1930 | - update TestApp to show location services enabled status
|
1931 | - add `locationServicesAuthorized` cap
|
1932 | - add `locationServicesEnabled` cap
|
1933 | - add `safariIgnoreFraudWarning` cap
|
1934 | - add `safariAllowPopups` cap
|
1935 | - update uiauto js to retrieve references to app/windows dynamically every time
|
1936 |
|
1937 | #### iOS+Safari
|
1938 | - wait longer for webviews to appear in ios7
|
1939 | - return latest window with getWindowHandles()
|
1940 | - move hardcoded atoms out of appium into its own npm module which builds them
|
1941 | - add `nonSyntheticWebClick` cap to use atoms for click in ios7
|
1942 |
|
1943 | #### Android
|
1944 | - fix installing unlock app on windows paths with spaces
|
1945 | - add test coverage mechanism
|
1946 | - don't fail the test if we can't find strings.xml in an apk
|
1947 | - add hybrid support for webviews in 4.4+ apps
|
1948 | - fix `mobile: launchApp`
|
1949 |
|
1950 | #### Chrome+Android
|
1951 | - bundle chromedriver into appium itself, remove system dependency
|
1952 |
|
1953 | #### Selendroid
|
1954 | - remove requirement to manually update selendroid test apk path in test code
|
1955 | - update selendroid (with maven 3.1.1 requirement)
|
1956 |
|
1957 |
|
1958 | CHANGES IN VERSION 0.15.0 (from 0.14.2)
|
1959 | =======================================
|
1960 |
|
1961 | #### General
|
1962 | - fix for issue where logger would log colors even when asked not to
|
1963 | - stricter jshint rules enforceable from editor
|
1964 | - reformat/restructure test suite
|
1965 | - handle previously-unhandled errors when using spawn()
|
1966 | - fix startup bug (status object being taken as session id)
|
1967 | - clear sessionOverride instance var when cleaning up session
|
1968 | - fix regression where appium git revision wasn't shown in server output
|
1969 | - various testsuite tweaks/fixes
|
1970 |
|
1971 | #### iOS
|
1972 | - don't wait 30s for instruments to terminate
|
1973 | - use SIGKILL for instruments again
|
1974 | - allow ios logs to be not found without crashing appium
|
1975 | - allow automation of settings app via 'app: settings' cap
|
1976 | - don't crash if IDevice init fails (when requesting real device)
|
1977 | - don't try to remove app if it's not on the device
|
1978 | - escape single quotes for id search
|
1979 | - lint the uiauto js code
|
1980 | - allow accented characters in send_keys()
|
1981 | - delete the entire sim folder when using --full-reset (before & after)
|
1982 |
|
1983 | #### iOS+Safari
|
1984 | - allow safari to pre-launch
|
1985 | - don't tap apple button to get into webview on real device safari
|
1986 | - don't use synthetic click on real device safari
|
1987 | - fix undefined window handle bug
|
1988 | - fix safariLauncher crashes
|
1989 |
|
1990 | #### Android
|
1991 | - add new mobile methods: toggleData, toggleFlightMode, toggleWifi,
|
1992 | toggleLocationServices
|
1993 | - convert uiautomator error stream to string
|
1994 | - use a better method for finding build-tools and platform-tools dirs
|
1995 | - implement new version of longClick
|
1996 | - add `mobile: find` example
|
1997 | - return element's classname by selenium `tag_name` method/property
|
1998 | - add `app-wait-package` desired cap, to be used in concert with
|
1999 | `app-wait-activity`
|
2000 |
|
2001 | #### Chrome+Android
|
2002 | - fix unlock errors
|
2003 | - fix port-in-use bug which prevented automation of multiple chromes on
|
2004 | multiple emulators
|
2005 |
|
2006 | #### Selendroid
|
2007 | - upgrade to 0.8.0
|
2008 |
|
2009 |
|
2010 | CHANGES IN VERSION 0.14.2 (from 0.14.1)
|
2011 | =======================================
|
2012 |
|
2013 | #### General
|
2014 | - fix bug that prevented appium from starting in ios
|
2015 |
|
2016 | CHANGES IN VERSION 0.14.1 (from 0.14.0)
|
2017 | =======================================
|
2018 |
|
2019 | #### General
|
2020 | - fix bug that prevented appium from pre-launching without specified device
|
2021 |
|
2022 | #### iOS
|
2023 | - when alert title is null, return text instead
|
2024 | - add framework for setting iOS and app preferences via plists
|
2025 | - add `enableLocationServices` desired cap for enabling/disabling location
|
2026 | services on the simulator
|
2027 |
|
2028 | #### Android
|
2029 | - fix fast reset/clear logic to not fail when remote apk doesn't exist
|
2030 |
|
2031 | #### Selendroid
|
2032 | - actually wait for app-wait-activity instead of app-activity
|
2033 |
|
2034 |
|
2035 | CHANGES IN VERSION 0.14.0 (from 0.13.0)
|
2036 | =======================================
|
2037 |
|
2038 | #### General
|
2039 | - add ability to set launch timeout from command line
|
2040 | - require 'device' cap and fail without it
|
2041 | - bring back appium shell
|
2042 | - add new node examples
|
2043 | - add troubleshooting docs in Chinese
|
2044 | - fix app download suffix issue
|
2045 | - major refactor of test code
|
2046 |
|
2047 | #### iOS
|
2048 | - delete cache data for all versions of sim
|
2049 | - fix sporadic DOM corruption issue
|
2050 | - make reset.sh more Xcode 4.6 friendly
|
2051 | - add flag to show simulator logs in-line with appium logs
|
2052 | - add cap for automatically accepting photo permission alerts
|
2053 | - update appium doctor to read new auth db value
|
2054 | - keep track of ios crash logs and make available through selenium interface
|
2055 | - cleanup app state pre-test and post-test
|
2056 | - fix installing/removing .app (instead of .ipa)
|
2057 | - escalate to SIGKILL if instruments doesn't respond to SIGTERM
|
2058 | - add cap for using native instruments lib
|
2059 | - return accessibility hint as 'hint' attribute
|
2060 |
|
2061 | #### Android
|
2062 | - fix AVD startup bug
|
2063 | - better error handling in element finding code
|
2064 | - update ApiDemos app with webview
|
2065 | - support doing web testing against stock browser on 4.4
|
2066 | - increase support of android 4.4 toolchain
|
2067 | - fix multiple device issue
|
2068 | - implement `mobile: background` for android/selendroid
|
2069 | - fix custom keystore unzip call stack issue
|
2070 |
|
2071 | #### Chrome+Android
|
2072 | - add ability to deal with a different kind of session redirect
|
2073 | - kill chromedriver before starting it up again to clear out ports
|
2074 |
|
2075 | #### Selendroid
|
2076 | - re-instate closeApp and removeApp
|
2077 | - fix issue where selendroid would crash based on activity mangling,
|
2078 | resulting in a mysterious connection reset error
|
2079 | - upgrade to 0.7.0
|
2080 | - show selendroid logs in appium output
|
2081 |
|
2082 |
|
2083 | CHANGES IN VERSION 0.13.0 (from 0.12.3)
|
2084 | =======================================
|
2085 |
|
2086 | #### General
|
2087 | - add sauce reporting to ruby example
|
2088 | - normalize all ruby examples
|
2089 | - don't allow linux platforms to run ios doctor checks
|
2090 | - allow building of single platforms in reset.sh (don't delete other platforms)
|
2091 | - fix bug with --show-config & npm
|
2092 | - removed some unused tests
|
2093 | - remove retry support from appium test harness
|
2094 | - catch grid syntaxerror issue
|
2095 | - make sure gappium tests actually get run
|
2096 |
|
2097 | #### iOS
|
2098 | - update docs for setting up ios-webkit-debug-proxy
|
2099 | - fix authorize_ios
|
2100 | - make sure setLocale doesn't run on real devices
|
2101 | - give webviews a bit of time to show up before we say they aren't there
|
2102 | - fix the auth db doctor check to work for 10.7
|
2103 | - when launching simulator without instruments, wait for sim logs
|
2104 | - kill zombie sim daemon launchers
|
2105 | - update mobile: reset
|
2106 | - automatically retry launching instruments if it flakes out. The number of
|
2107 | retries can be set with `-r N` or `--backend-retries N`, where `N` is
|
2108 | the number of retries, including 0.
|
2109 | - add support for automating real Safari (and other built-in apps) in iOS7
|
2110 | - remove support for using iwebview as a Safari replacement
|
2111 | - when running mobile safari tests, automatically detect ios version
|
2112 | - update i-w-d for compatibility with xcode 5.1 / ios 7.1
|
2113 |
|
2114 | #### Android
|
2115 | - remove dependency on grep for real devices
|
2116 | - add 19.0.0 to possible build paths
|
2117 | - add tests for apk downloading and fix apk downloading issue
|
2118 | - check for API level >= 17 for uiautomator and fail sooner if not
|
2119 | - fix issue where calculating md5 of app would use too much memory, for large
|
2120 | apps
|
2121 | - fix bug with checking whether app already existed on device
|
2122 |
|
2123 | #### Selendroid
|
2124 | - give useful error message if user tries to run a uiautomator-based
|
2125 | "mobile: " command in selendroid
|
2126 | - update selendroid
|
2127 |
|
2128 |
|
2129 | CHANGES IN VERSION 0.12.3 (from 0.12.2)
|
2130 | =======================================
|
2131 |
|
2132 | #### General
|
2133 | - reset command timeout during mobile: reset
|
2134 | - fixes for strategy validation ('dynamic' and 'class name' are valid)
|
2135 | - add --show-config flag to dump appium config and exit
|
2136 | - add option to set newCommandTimeout to 0 or false to disable it entirely
|
2137 | rather than working around it by setting a high value
|
2138 | - refactor server/main.js -- things were getting ugly
|
2139 | - fix issue where ForceQuitUnresponsiveApps would try to run even on non-Mac
|
2140 | systems
|
2141 |
|
2142 | #### iOS
|
2143 | - change default device for iOS 6 to "iPhone" (non-retina)
|
2144 | - change Xcode 5.0.1 warning message to indicate an upgrade is possible now
|
2145 | - add --default-device flag to allow instruments to launch the sim like it
|
2146 | used to
|
2147 | - get rid of deprecated authorization strategy code
|
2148 | - include ForceQuitUnresponsiveApps output in appium log
|
2149 | - add --merciful (-m) flag to avoid running ForceQuitUnresponsiveApps. Show
|
2150 | Instruments a bit of mercy...or don't.
|
2151 |
|
2152 | #### Selendroid
|
2153 | - upgrade Selendroid to 0.7.0
|
2154 |
|
2155 |
|
2156 | CHANGES IN VERSION 0.12.2 (from 0.12.1b)
|
2157 | =======================================
|
2158 |
|
2159 | - None (npm fix release)
|
2160 |
|
2161 | CHANGES IN VERSION 0.12.1b (from 0.12.1)
|
2162 | =======================================
|
2163 |
|
2164 | - None (npm fix release)
|
2165 |
|
2166 | CHANGES IN VERSION 0.12.1 (from 0.12.0)
|
2167 | =======================================
|
2168 |
|
2169 | #### General
|
2170 | - add appium doctor for checking system config issues that prevent appium
|
2171 | from working properly. Run with `node bin/appium-doctor.js`, or
|
2172 | `appium-doctor` if installed via NPM, or via the GUI in Appium.app
|
2173 | - fail sooner if user passes in bad locator strategy
|
2174 | - fix app extracting logic
|
2175 |
|
2176 | #### iOS
|
2177 | - fix locale settings logic
|
2178 | - fix 64-bit device string
|
2179 | - fail with a nicer message if xcrun can't find instruments
|
2180 | - allow iwebview tests to automate https sites
|
2181 | - kill simulators before launching new ones
|
2182 | - automatically force quit unresponsive instruments processes
|
2183 |
|
2184 |
|
2185 | CHANGES IN VERSION 0.12.0 (from 0.11.4)
|
2186 | =======================================
|
2187 |
|
2188 | #### General
|
2189 | - make sure there's no color in console when --log-no-colors is used
|
2190 | - add more chinese docs
|
2191 | - allow periods in xpath node names
|
2192 | - update style guide
|
2193 | - bring all NPM dependencies up to date
|
2194 |
|
2195 | #### iOS
|
2196 | - mobile web: doc updates
|
2197 | - mobile web: make sure window.close() works on real devices
|
2198 | - mobile web: connect to most recent webview instead of first
|
2199 | - allow uiauto to get path to node binary from `node_bin` key in .appiumconfig
|
2200 | - fix automatic UDID detection
|
2201 | - improve webviewapp to be a safari replacement; can now be used for mobile
|
2202 | web automation using `app: iwebview`
|
2203 | - use `deviceName` cap to select specific iOS device
|
2204 | - mobile web: automatically accept popup window alerts
|
2205 | - give informative error message if ideviceinstaller isn't present
|
2206 | - add a wait after flick calls so client doesn't regain control before flick
|
2207 | has finished
|
2208 |
|
2209 | #### Android
|
2210 | - make sure chrome tests don't require package/activity
|
2211 | - make sure we force-stop apps before starting them
|
2212 | - fix issue with checking for package/activity for chrome
|
2213 | - make sure to kill any running uiautomator processes before test
|
2214 | - add `fastClear` desired cap, default true. If false, uses reinstall
|
2215 | instead of `pm clear` to reset an app
|
2216 | - anytime we call `dumpsys windows` when checking for screen lock, dump output
|
2217 | to $APPIUM_HOME/.dumpsys.log so we can learn more about error cases
|
2218 |
|
2219 |
|
2220 | CHANGES IN VERSION 0.11.4 (from 0.11.3)
|
2221 | =======================================
|
2222 |
|
2223 | #### General
|
2224 | - add ruby scrollTo example
|
2225 |
|
2226 | #### iOS
|
2227 | - fix dismissAlert / acceptAlert on ios7
|
2228 | - make instruments logging quiet by default (put verbose=true in
|
2229 | ~/.instruments.conf to re-enable)
|
2230 | - fix safarilauncher shutdown issue
|
2231 | - add tests for setting slider values
|
2232 | - set ios sim language using desired caps
|
2233 | - add more error handling in instruments_client
|
2234 |
|
2235 | #### Android
|
2236 | - fix issue with adb path and quote truncation
|
2237 | - fail with a nice message if app activity/package are not sent in
|
2238 |
|
2239 | #### Selendroid
|
2240 | - fix keyevent
|
2241 | - add command timeout tests
|
2242 |
|
2243 |
|
2244 | CHANGES IN VERSION 0.11.3 (from 0.11.2)
|
2245 | =======================================
|
2246 |
|
2247 | #### General
|
2248 | - remove wiki
|
2249 | - various doc updates
|
2250 | - reset command timeout for proxied devices (incl selendroid)
|
2251 | - translate docs to Chinese
|
2252 | - make desired capabilities returned by /session/:id non-hard-coded
|
2253 |
|
2254 | #### iOS
|
2255 | - add support for sim and devices for safari launcher
|
2256 | - major refactor of ios startup cascade
|
2257 | - fix tracetemplate detection logic
|
2258 | - add ability to select code-signing identity for safari launcher
|
2259 | - use securitydb for authorization on 10.9
|
2260 | - expose 'syslog' logs through selenium log interface
|
2261 |
|
2262 | #### Android
|
2263 | - various control flow/subprocess fixes
|
2264 | - don't uninstall app when --no-reset is used
|
2265 |
|
2266 | #### Selendroid
|
2267 | - update selendroid version
|
2268 |
|
2269 |
|
2270 |
|
2271 | CHANGES IN VERSION 0.11.2 (from 0.11.1)
|
2272 | =======================================
|
2273 |
|
2274 | #### General
|
2275 | - fix bug where running `appium` after installing via npm would error out
|
2276 | because the logger was not initialized correctly
|
2277 | - fix bug in reset.sh where setting --real-safari would cause android et al
|
2278 | not to build
|
2279 |
|
2280 |
|
2281 | CHANGES IN VERSION 0.11.1 (from 0.11.0)
|
2282 | =======================================
|
2283 |
|
2284 | #### General
|
2285 | - fix launch timeout bug
|
2286 | - update travis CI to use newer version of node
|
2287 | - remove .appiumconfig before running reset.sh
|
2288 | - update reset.sh to build safarilauncher for real devices only when
|
2289 | passing in the --real-safari flag
|
2290 | - made test.sh sh-compatible
|
2291 | - update all example code to use correct desired capabilities
|
2292 | - don't set content-length header for http POSTS with no body
|
2293 | - add more desired caps to docs
|
2294 | - expand on android setup for mac osx in docs
|
2295 | - remove multiple device handling code--appium just does one device at a time
|
2296 | per server
|
2297 | - handle command timeouts centrally rather than per-device
|
2298 | - add --log-timestamp and --log-no-colors options to server
|
2299 |
|
2300 | #### iOS
|
2301 | - fix sim control authorization on mavericks
|
2302 | - copy instead of symlink xpath/status into uiauto for non-breaking npm install
|
2303 | - fix cookie methods error case in mobile safari
|
2304 | - fail with an error message if user is on xcode 5.0.1 since it comes with
|
2305 | a broken instruments binary
|
2306 |
|
2307 | #### Android
|
2308 | - don't uninstall app on fast reset
|
2309 | - fix crash that occurred when no devices were connected
|
2310 | - fix unlock logic and change order of regex search
|
2311 | - correctly handle responses for element{Displayed|Enabled|Selected}
|
2312 | - refactor adb/android/uiautomator startup/shutdown logic to make
|
2313 | callback-based
|
2314 | - kill uiautomator if the startup cascade for android fails, so it doesn't
|
2315 | zombify
|
2316 |
|
2317 |
|
2318 | CHANGES IN VERSION 0.11.0 (from 0.10.4)
|
2319 | =======================================
|
2320 |
|
2321 | #### General
|
2322 | - make tempdirs uniquely named
|
2323 | - massive code reorganization
|
2324 | - retry getting a session in testsuite to avoid flaky fails
|
2325 |
|
2326 | #### iOS
|
2327 | - update ios alert handling
|
2328 | - use safariLauncher without 20/30 secs timeout
|
2329 | - allow .ipa extension for local apps
|
2330 |
|
2331 | #### Android
|
2332 | - clean app using `pm clear` instead of clean.apk
|
2333 | - massive refactor/rewrite of android/adb code
|
2334 | - fix dependency download error
|
2335 | - ensure all apks are signed
|
2336 |
|
2337 |
|
2338 | CHANGES IN VERSION 0.10.4 (from 0.10.3)
|
2339 | =======================================
|
2340 |
|
2341 | #### iOS
|
2342 | - add callback for remote debugger socket disconnect to avoid race conditions
|
2343 |
|
2344 | #### Android
|
2345 | - allow _ in package name
|
2346 | - add timeout for orientation change
|
2347 |
|
2348 |
|
2349 | CHANGES IN VERSION 0.10.3 (from 0.10.2)
|
2350 | =======================================
|
2351 |
|
2352 | #### General
|
2353 | - this is a bugfix release
|
2354 |
|
2355 | #### iOS
|
2356 | - compile the i-w-d shim correctly for ios7
|
2357 |
|
2358 |
|
2359 | CHANGES IN VERSION 0.10.2 (from 0.10.1)
|
2360 | =====================================
|
2361 |
|
2362 | #### General
|
2363 | - update docs
|
2364 | - README rewrite
|
2365 |
|
2366 | #### iOS
|
2367 | - allow spaces in xcode path
|
2368 | - completely reset and restart simulator between sessions
|
2369 | - turn CA_DEBUG_TRANSACTIONS on
|
2370 | - enable `authorize_ios` on Mavericks
|
2371 | - fix bug making handling alerts take longer than necessary
|
2372 |
|
2373 | #### Android
|
2374 | - update clean.apk
|
2375 | - refactored setOrientation
|
2376 | - fix screenshot method
|
2377 | - implement pinch in / out
|
2378 | - upgrade unlock.apk
|
2379 | - use pm uninstall/install in reset
|
2380 |
|
2381 | #### Windows
|
2382 | - lots of reset.bat improvements
|
2383 | - make some more paths windows friendly
|
2384 |
|
2385 |
|
2386 | CHANGES IN VERSION 0.10.1 (from 0.10.0)
|
2387 | =====================================
|
2388 |
|
2389 | #### Android
|
2390 | - add hybrid app docs
|
2391 | - fix unlock.apk for android 2.3
|
2392 | - get unlock.apk into build/ so prebuilt packages can use it
|
2393 |
|
2394 | #### Selendroid
|
2395 | - make unlock.apk work with selendroid
|
2396 | - change remote url for selendroid submodule
|
2397 | - update selendroid to 0.6.0
|
2398 |
|
2399 |
|
2400 | CHANGES IN VERSION 0.10.0 (from 0.9.1)
|
2401 | =====================================
|
2402 |
|
2403 | #### General
|
2404 | - update contributor style guide
|
2405 | - add some troubleshooting tips to doc
|
2406 | - update test.sh for a better testing flow
|
2407 |
|
2408 | #### iOS
|
2409 | - autodetect tracetemplate rather than bundling with appium
|
2410 | - choose version of instruments-without-delay based on xcode version
|
2411 | - get rid of --ios-sdk flag in reset.sh since appium now autodetects
|
2412 |
|
2413 | #### Android
|
2414 | - fix find elements by ID
|
2415 | - update clean.apk
|
2416 | - update touchevent for longpress
|
2417 | - add unlock.apk which is a more robust device unlock solution
|
2418 | - enable mobile chrome support on windows
|
2419 | - better support for tapping invisible elements
|
2420 |
|
2421 |
|
2422 | CHANGES IN VERSION 0.9.1 (from 0.9.0)
|
2423 | =====================================
|
2424 |
|
2425 | #### General
|
2426 | - add desired caps doc
|
2427 | - moveTo defaults to 0.5, 0.5
|
2428 | - add some more node/yiewd examples
|
2429 | - beefed up test.sh
|
2430 |
|
2431 | #### iOS
|
2432 | - fix issue with finding ids
|
2433 | - add --ios-sdk flag to reset.sh to choose between 6.1/7.0
|
2434 | - various ios 7 compatibility fixes
|
2435 | - significant refactor of ios session lifecycle code, fixing various issues
|
2436 | - add automatic UDID detection
|
2437 | - attempt to tap element's coordinates when typical method doesn't work
|
2438 | - support more types of zip archives
|
2439 |
|
2440 | #### Android
|
2441 | - restart adb up to 10 times instead of 2
|
2442 | - fix --avd launching bug
|
2443 | - fix swipe steps/duration logic (note: will affect test behavior)
|
2444 | - support metastate for keyevent
|
2445 |
|
2446 | #### Phonegap
|
2447 | - fix submodule issues
|
2448 |
|
2449 | _Historical Note_: This version of Appium was published by @jlipps in a moving
|
2450 | vehicle on a drive from Krakow, Poland to Warsaw, Poland. Thanks, @bkobos, for
|
2451 | the chaffeurship and wi-fi!
|
2452 |
|
2453 |
|
2454 | CHANGES IN VERSION 0.9.0 (from 0.8.5)
|
2455 | =====================================
|
2456 |
|
2457 | #### General
|
2458 | - update troubleshooting doc
|
2459 | - fix app unzip issue
|
2460 | - remove app/apk files from zip path before appium starts
|
2461 | - fix location of UICatalog in reset.sh
|
2462 | - fix reset.sh android device matching
|
2463 | - update ruby examples
|
2464 | - add chrome example in node
|
2465 | - improve python example code
|
2466 | - begin to migrate tests from wd to yiewd
|
2467 |
|
2468 | #### iOS
|
2469 | - respond to the last command even if instruments crashes
|
2470 | - don't attempt to reset real devices
|
2471 | - update instruments-without-delay with ios7 support
|
2472 | - add findById support (uses localization strings)
|
2473 | - add mobile: getStrings
|
2474 | - support setting value for sliders and switches with sendKeys()
|
2475 | - add preliminary support for ios7 with a different tracetemplate
|
2476 | - make mobile: localScreenshot more robust by fixing race condition
|
2477 | - add phonegap example
|
2478 |
|
2479 | #### Android
|
2480 | - don't require 'avd' to be set in order to install/uninstall to android
|
2481 | - dynamic find can use classmap aliases
|
2482 | - make it easy to run multiple android devices simultaneously
|
2483 | - support for dragFrom / dragTo functions in API level 18
|
2484 | - use resource-id for finding elements (findById)
|
2485 | - make getSize available
|
2486 | - make desired cap for compressedLayoutHierarchy
|
2487 | - add new version of unsign.jar
|
2488 | - fix stopCapture bug
|
2489 | - remove some deprecated methods (xmlKeyContains, etc)
|
2490 | - add mobile: getStrings
|
2491 | - always return true for click() (uiautomator bug)
|
2492 | - fix getAttribute to return strings instead of bool
|
2493 | - fix tests for use with now-required 4.3 emulator
|
2494 | - add phonegap example
|
2495 |
|
2496 | #### Selendroid
|
2497 | - track selendroid dev branch instead of master
|
2498 | - upgrade to selendroid 0.5.0
|
2499 |
|
2500 | #### Windows
|
2501 | - update docs
|
2502 | - some windows compat fixes
|
2503 |
|
2504 |
|
2505 | CHANGES IN VERSION 0.8.5 (from 0.8.4)
|
2506 | =====================================
|
2507 |
|
2508 | #### GENERAL
|
2509 | - reorder problematic async calls (issue #1000!)
|
2510 | - misc refactoring
|
2511 |
|
2512 | #### Android
|
2513 | - allow install/uninstall without device id
|
2514 | - fix race condition in starting chromedriver
|
2515 |
|
2516 | #### Selendroid
|
2517 | - update selendroid version
|
2518 | - fix issue preventing errors from proxying correctly
|
2519 |
|
2520 |
|
2521 | CHANGES IN VERSION 0.8.4 (from 0.8.3)
|
2522 | =====================================
|
2523 |
|
2524 | #### GENERAL
|
2525 | - some documentation updates
|
2526 | - give appium server a big http timeout so it doesn't drop connections
|
2527 |
|
2528 | #### Android
|
2529 | - make sure chromedriver tries to restart adb if it fails the first time
|
2530 | - add logcat retrieval for android and selendroid
|
2531 |
|
2532 | #### IOS
|
2533 | - allow use of --ipa and --app flags together
|
2534 | - try out a fix in mechanic.js for the (null) tap issues
|
2535 |
|
2536 |
|
2537 | CHANGES IN VERSION 0.8.3 (from 0.8.2)
|
2538 | =====================================
|
2539 |
|
2540 | #### GENERAL
|
2541 | - update various documentation (gestures, inspector tutorial, README)
|
2542 | - allow dashes in bundle/package IDs
|
2543 | - fix bad address startup error message
|
2544 | - use native function.bind() throughout instead of a mix of scoped objects
|
2545 | and underscore.bind()
|
2546 |
|
2547 | #### Android
|
2548 | - use UiAutomator for back() instead of keyevent
|
2549 | - use UiAutomator for keyCode instead of adb shell
|
2550 | - use UiAutomator for screenshot instead of adb shell
|
2551 |
|
2552 | ### IOS
|
2553 | - add some more mechanic aliases (keyboard, key)
|
2554 | - add pinch/zoom gestures
|
2555 | - add Java example for automating mobile safari
|
2556 | - automatically accept location services dialogs if we can access them
|
2557 | - accept text-based Info.plist files in addition to binary ones
|
2558 | - use reset.sh to download UICatalog rather than node/grunt
|
2559 |
|
2560 |
|
2561 | CHANGES IN VERSION 0.8.2 (from 0.8.1)
|
2562 | =====================================
|
2563 |
|
2564 | #### GENERAL
|
2565 | - make sure build/ is deleted by reset.sh
|
2566 | - re-publish without extraneous artifacts in build/
|
2567 |
|
2568 |
|
2569 | CHANGES IN VERSION 0.8.1 (from 0.8.0)
|
2570 | =====================================
|
2571 |
|
2572 | ### GENERAL
|
2573 | - update java examples to show correct use of JavascriptExecutor
|
2574 | - fix parser bug that prevented launching on windows
|
2575 | - fix missing parameter generating exceptions in testsuite
|
2576 | - fix more stdout maxBuffer errors
|
2577 | - fix android tests to use new activity style
|
2578 | - return timeout in set timeout commands
|
2579 |
|
2580 | ### IOS
|
2581 | - fix mobile safari alert-handling issues
|
2582 | - attempt to capture and resolve location services popup using desired cap
|
2583 |
|
2584 | ### ANDROID
|
2585 | - require shortcut activities to start with ".", allowing fully-qualified
|
2586 | activities with packages different from the main appPackage
|
2587 | - if appium fails to launch activity with ".", it will retry
|
2588 | - allow downloaded apps to end in .apk as well as .zip
|
2589 | - fix xpath parser error not allowing widget packages to be used
|
2590 | - add longClick command
|
2591 | - added JUnit and TestNG examples
|
2592 | - support ChromiumTestShell as well as Google Chrome for Chrome tests
|
2593 |
|
2594 | ### SELENDROID
|
2595 | - fall back to `am start` if Selendroid doesn't successfully launch the app
|
2596 |
|
2597 | CHANGES IN VERSION 0.8.0 (from 0.7.3)
|
2598 | =====================================
|
2599 | ### GENERAL
|
2600 | - bump maxBuffer for various subprocesses
|
2601 | - automatically re-register appium with grid if it disconnects
|
2602 | - augment style guide
|
2603 | - allow appium tests to read appium server port from $APPIUM_PORT
|
2604 |
|
2605 | ### IOS
|
2606 | - add support for locking device for X seconds
|
2607 | - add support for backgrounding app for X seconds
|
2608 | - make finding node/instruments_client more robust for instruments context
|
2609 | - mobile methods for installing/uninstalling apps to device
|
2610 | - add shortcut for UIACollectionCell and UIATableCell
|
2611 | - ensure isEnabled returns a boolean value
|
2612 |
|
2613 | ### ANDROID
|
2614 | - add mobile: searchId method to search for string by ID
|
2615 | - add mobile: resolveId method to resolve strings
|
2616 | - fix activity detection to be more allowing of different strings
|
2617 | - enable keystore for using different certs
|
2618 | - fix issue when large messages are transferred from bootstrap
|
2619 | - fix takesScreenshot capability
|
2620 | - add long tap method
|
2621 | - make screenshot work on windows
|
2622 | - fix scrollTo support
|
2623 |
|
2624 | ### CHROME
|
2625 | - add support for automating Chrome on Android!
|
2626 |
|
2627 | ### SELENDROID
|
2628 | - update selendroid to 90aef5d
|
2629 |
|
2630 | CHANGES IN VERSION 0.7.3 (from 0.7.2)
|
2631 | =====================================
|
2632 | ### IOS
|
2633 | - bugfix: authorize_ios needed #!
|
2634 |
|
2635 | CHANGES IN VERSION 0.7.2 (from 0.7.1)
|
2636 | =====================================
|
2637 | ### GENERAL
|
2638 | - make sure reset.sh checks for JAVA_HOME set for android/selendroid
|
2639 | - add mobile: reset docs
|
2640 | - alias POST /touch/click to POST /click
|
2641 |
|
2642 | ### IOS
|
2643 | - fix discrepancy between isDisplayed() and isVisible() and isEnabled()
|
2644 | - use new Automation.tracetemplate
|
2645 | - fixes for checking alerts in webviews
|
2646 | - page source now gets all windows, not just main window
|
2647 | - allow custom node path by setting NODE_BIN in a settings file
|
2648 | - add authorize_ios binary to npm install so npm users can authorize their ios
|
2649 | sim
|
2650 |
|
2651 | ### ANDROID
|
2652 | - use path.resolve in a cross-platform way
|
2653 |
|
2654 | ### SELENDROID
|
2655 | - fix use of adb from within selendroid
|
2656 | - keyevent support
|
2657 | - fix app-wait-activity
|
2658 |
|
2659 | CHANGES IN VERSION 0.7.1 (from 0.7.0)
|
2660 | =====================================
|
2661 | ### SELENDROID
|
2662 | - update to new version with new build instructions
|
2663 | - make selendroid port configurable
|
2664 |
|
2665 | ### WINDOWS
|
2666 | - fix use of exec and spawn so external commands work
|
2667 |
|
2668 | CHANGES IN VERSION 0.7.0 (from 0.6.1)
|
2669 | =====================================
|
2670 | ### GENERAL
|
2671 | - allow new session requests to override current session; this can be disabled
|
2672 | with the --no-session-override flag
|
2673 | - make sure reset.sh fails if android bootstrap can't build
|
2674 | - make --no-reset do what it's supposed to do, and fix description in docs
|
2675 | - check to make sure conflicting arguments aren't passed to the server before
|
2676 | launching
|
2677 | - removed deprecated flags completely (hence the minor version bump)
|
2678 | - bringing some error messages into line across platforms
|
2679 | - fix some issues with grunt building functions
|
2680 |
|
2681 | ### ANDROID
|
2682 | - add find element by ID (parses strings.xml)
|
2683 | - remove a sleep in bootstrap server that caused delays
|
2684 | - make sure app is uninstalled when not using fast reset
|
2685 | - make sure AndroidManifest.xml.apk is writable (for npm installed appium)
|
2686 | - make sure device wakes up / unlocks before running test
|
2687 | - add set geo location support
|
2688 | - clean up and fix issues relating to mid-session bootstrap.jar restart
|
2689 | - app-wait-activity now takes comma-separated list of valid activities
|
2690 |
|
2691 | ### IOS
|
2692 | - fix some tests
|
2693 | - fix mobile: reset
|
2694 |
|
2695 | CHANGES IN VERSION 0.6.1 (from 0.6.0)
|
2696 | =====================================
|
2697 | ### GENERAL
|
2698 | - started work on mobile_methods.md doc
|
2699 | - added hardcore mode to reset.sh that will refresh uicatalog inter alia
|
2700 | - ios-webkit-debug-proxy docs
|
2701 | - appium now registers correctly with selenium grid
|
2702 | - better bundle/package detection
|
2703 |
|
2704 | ### IOS
|
2705 | - mobile: setLocation and POST /location for setting geolocation
|
2706 | - updated tests to work with new uicatalog version
|
2707 | - allow registering a websocket handler for alerts
|
2708 | - escape sendKeys values so you can send '
|
2709 | - fixed up tests a little bit
|
2710 |
|
2711 | ### ANDROID
|
2712 | - fix fast reset race condition
|
2713 | - fix lack of AndroidManifest.xml.src in npm
|
2714 | - allow registering a websocket handler for alerts
|
2715 | - added method for getting location of element
|
2716 | - fixed package name for webviews
|
2717 |
|
2718 | CHANGES IN VERSION 0.6.0 (from 0.5.2)
|
2719 | =====================================
|
2720 | ### GENERAL
|
2721 | - initial Windows appium support (Android-only)
|
2722 | - reset.sh no longer fails silently if it errors
|
2723 | - added reset.bat for windows
|
2724 | - get status now returns actual appium version
|
2725 | - make sure reset.sh uninstalls android test apps if emulator is running
|
2726 | - include the git revision in the status object and in the logs at startup
|
2727 | - misc bugfixes
|
2728 |
|
2729 | ### IOS
|
2730 | - ability to talk to mobile Safari on a real device over USB
|
2731 | - added native back() method
|
2732 | - sendKeys now only taps on field if it doesn't already have focus
|
2733 |
|
2734 | ### ANDROID
|
2735 | - find by name checks to see if it found the element
|
2736 | - find by xpath no longer returns duplicate elements
|
2737 | - add support for ADT 22
|
2738 | - add "mobile: waitForPageLoad" that waits for indicators to clear
|
2739 | - fix scrollTo
|
2740 |
|
2741 | ### SELENDROID
|
2742 | - build selendroid modded servers in /tmp for npm
|
2743 | - fixed issue with running tests for multiple apps sequentially
|
2744 |
|
2745 | ### ROBOT
|
2746 | - initial support for robot automation (robot intercepts tap etc)
|
2747 |
|
2748 | ### APPIUM.EXE
|
2749 | - not strictly part of appium, but the Windows GUI has arrived in beta!
|
2750 |
|
2751 | CHANGES IN VERSION 0.5.2 (from 0.5.1)
|
2752 | =====================================
|
2753 | ### IOS
|
2754 | - fixed regression in mobile safari pre-launch
|
2755 |
|
2756 | CHANGES IN VERSION 0.5.1 (from 0.5.0)
|
2757 | =====================================
|
2758 | ### GENERAL
|
2759 | - updates to python examples
|
2760 | - refactored configuration code
|
2761 | - initial work making Appium's node code windows-compatible
|
2762 | - more lenient treatment of relationship between $HOME and system username
|
2763 |
|
2764 | ### IOS
|
2765 | - fixing webview not waiting for page loading on url nav issue
|
2766 | - added node-idevice which streamlines installing .ipas on real devices
|
2767 | - implement scrollTo
|
2768 | - fixed bug in xpath code which returned last element first
|
2769 |
|
2770 | ### ANDROID
|
2771 | - add some docs for installing HAXM
|
2772 | - add scroll_into_view for mobile: find
|
2773 | - completed android element class map
|
2774 |
|
2775 | ### SELENDROID
|
2776 | - http timeout tweaks
|
2777 |
|
2778 | CHANGES IN VERSION 0.5.0 (from 0.4.1)
|
2779 | =====================================
|
2780 | ### GENERAL
|
2781 | - significant change for command-line params for appium:
|
2782 | - --without-delay is now on by default. to turn it off, use
|
2783 | --native-instruments-lib if you don't want it
|
2784 | - --fast-reset is now on by default. to turn it off, use --full-reset
|
2785 | - --verbose is now on by default. to turn it off, use --quiet
|
2786 |
|
2787 | CHANGES IN VERSION 0.4.1 (from 0.4.0)
|
2788 | =====================================
|
2789 | ### GENERAL
|
2790 | - added --dev flag to reset.sh to optionally include test apps / dev deps
|
2791 | - added --verbose flag to reset.sh to optionally spew info (was default)
|
2792 | - reset.sh now puts all binaries in /build so it can be packaged and reused by
|
2793 | npm et al
|
2794 |
|
2795 | ### IOS
|
2796 | - added more Java examples
|
2797 |
|
2798 | ### SELENDROID
|
2799 | - updated selendroid to 56581e27b45c3a4483d89701fc893ac37b172e46
|
2800 |
|
2801 | CHANGES IN VERSION 0.4.0 (from 0.3.1)
|
2802 | =====================================
|
2803 | ### GENERAL
|
2804 | - more python examples including for android
|
2805 | - node android code example
|
2806 | - migrated wiki to appium/docs
|
2807 | - added troubleshooting docs
|
2808 | - added auto-tagging of repo on npm publish
|
2809 | - add a config check to make sure reset.sh was run for a specific device
|
2810 | before allowing appium to try to start a session with that device
|
2811 |
|
2812 | ### IOS
|
2813 | - various efforts to fix/workaround the (null).tap() issue in UIAutomation
|
2814 | - added shake()
|
2815 |
|
2816 | ### ANDROID
|
2817 | - partial match on content-desc
|
2818 | - find aapt in SDK or path
|
2819 | - better logging all around
|
2820 | - ensure app apk exists and fail if not
|
2821 | - added content-desc to all ApiDemos elements
|
2822 | - added --avd flag for launching emulator if not running
|
2823 | - added getName()
|
2824 | - fix mobile: find
|
2825 |
|
2826 | ### SELENDROID
|
2827 | - updated selendroid to 0.4
|
2828 | - don't re-build selendroid for each app, just re-insert manifest and build
|
2829 | selendroid in reset.sh instead
|
2830 |
|
2831 | ### FIREFOXOS
|
2832 | - Initial Firefox OS support landed!
|
2833 |
|
2834 | CHANGES IN VERSION 0.3.1 (from 0.3.0)
|
2835 | =====================================
|
2836 | ### GENERAL
|
2837 | - support for xpath indexes
|
2838 | - support for xpath last()
|
2839 | - docs specific to linux
|
2840 | - fix name of npm binary-plist dependency
|
2841 |
|
2842 | ### IOS
|
2843 | - update instruments-without-delay (fix #432)
|
2844 | - fix #437 (implicit wait didn't work after ios reset)
|
2845 | - when searching for @text, fall back to @label and @value
|
2846 | - allow @name to refer to @text, @label, and @value
|
2847 | - have "textfield" searches return "secure" fields as well
|
2848 | - add "collection" tag name
|
2849 | - make sure to do a clean build before building sample apps
|
2850 |
|
2851 | ### ANDROID
|
2852 | - fix xpath wildcard issue
|
2853 | - fix tag name selector
|
2854 | - alias "window" tag name to "frame"
|
2855 | - tweak flick timing
|
2856 | - have swipe/flick return errors if we know they didn't execute
|
2857 | - fix page source on real device
|
2858 | - use aapt rename to handle manifest stuff
|
2859 | - screenshot support
|
2860 | - support for the clear() method
|
2861 |
|
2862 | ### SELENDROID
|
2863 | - fix proxy behavior
|
2864 | - added example/test for selendroid webview
|
2865 | - add WebViewDemo app with tasks for building it
|
2866 |
|
2867 | CHANGES IN VERSION 0.3.0 (from 0.2.3)
|
2868 | =====================================
|
2869 | ### GENERAL
|
2870 | - Running tests with grunt will now not crash on first test failure
|
2871 | - Rewrote reset.sh to respect sudo and to run for individual platforms
|
2872 | - Changed markdown rendering engine and logic for generating appium.io from
|
2873 | README.md
|
2874 |
|
2875 | ### ANDROID
|
2876 | - Add "mobile: find" method for complex find combinations
|
2877 | - Check that clean.apk is signed
|
2878 | - Orientation support
|
2879 | - Update verify.jar to work on java 6
|
2880 | - Massive refactoring of adb.js
|
2881 | - Added Selendroid proxy support (!)
|
2882 |
|
2883 | CHANGES IN VERSION 0.2.3 (from 0.2.2)
|
2884 | =====================================
|
2885 | ### GENERAL
|
2886 | - removed bloated appium.io submodule, replaced with no-binary one
|
2887 | - Fix plist resetting regression (#342)
|
2888 | - Fix to ensure GET /sessions doesn't return false information
|
2889 |
|
2890 | ### IOS
|
2891 | - Allow instruments to find node binaries in MacPorts default location
|
2892 | - Allow instruments to find node binaries from Appium.app
|
2893 | - Rotate screenshots to match orientation of device
|
2894 | - Fix python examples
|
2895 | - Webview: add tests for implicit attributes
|
2896 | - Made sure window handles are always strings
|
2897 | - Reduced flakiness of swipe tests
|
2898 | - Added a Sauce Connect example
|
2899 | - C# example updates
|
2900 | - Fixed a few minor regressions
|
2901 |
|
2902 | ### ANDROID
|
2903 | - Large refactoring of bootstrap code
|
2904 | - Moved ApiDemos code into a submodule which is included and built for tests
|
2905 | - Fix install command
|
2906 | - Support for element-based swiping
|
2907 | - Use selenium touch actions for flick()
|
2908 | - Some error message improvements
|
2909 | - Make sure we lint adb.js
|
2910 |
|
2911 | CHANGES IN VERSION 0.2.2 (from 0.2.1)
|
2912 | =====================================
|
2913 | ### IOS
|
2914 | - safari: use js close() instead of clicking buttons to close windows
|
2915 | - webview: make title() always return title for default context
|
2916 | - webview: async javascript execute
|
2917 | - webview: fix when webelements are returned to client
|
2918 | - allow launching app via bundle id and not just app path
|
2919 | - webview: get/set/delete cookie(s)
|
2920 | - correctly rotate screenshot images if taken in landscape mode
|
2921 |
|
2922 | ### ANDROID
|
2923 | - add eclipse formatting file for bootstrap
|
2924 | - stop when activity fails to show up
|
2925 | - make content-desc search case-insensitive and partial
|
2926 | - allow launching emulator according to device id
|
2927 | - only sign app for clean apk once
|
2928 |
|
2929 | CHANGES IN VERSION 0.2.1 (from 0.2.0)
|
2930 | =====================================
|
2931 | ### GENERAL
|
2932 | - fix bug in npm dependencies (make swig a real dependency)
|
2933 |
|
2934 | ### IOS
|
2935 | - fixed scoping bug in alert handling
|
2936 | - get rid of --warp flag, instruments-without-delay is better
|
2937 | - safari: clear cookies/history/windows in between test runs
|
2938 |
|
2939 | CHANGES IN VERSION 0.2.0 (from 0.1.3)
|
2940 | =====================================
|
2941 | ### GENERAL
|
2942 | - updates to reset.sh
|
2943 | - host our own guinea pig html page for webview tests
|
2944 | - updated java examples and docs
|
2945 |
|
2946 | ### IOS
|
2947 | - webview: isActive()
|
2948 | - webview: submit()
|
2949 | - webview: clear()
|
2950 | - webview: selected()
|
2951 | - webview: implicit waits
|
2952 | - webview: location()
|
2953 | - webview: getName()
|
2954 | - webview: moveTo() and generalized click()
|
2955 | - webview: getWindowSize()
|
2956 | - webview: close()
|
2957 | - webview: don't allow alerts to cause webview requests to hang forever
|
2958 | - webview: find element(s) from element
|
2959 | - webview: get alert text
|
2960 | - webview: set prompt value
|
2961 | - allow pre-launching local zips/apps/safari from cli
|
2962 | - webview: allow execution in arbitrary frames
|
2963 | - "mobile: leaveWebView" special command instead of frame(null)
|
2964 | - webview: equalsElement()
|
2965 | - webview: back() and forward()
|
2966 | - webview: refresh()
|
2967 | - "mobile: fireEvent" for webview
|
2968 | - enable setting of device orientation through desired caps
|
2969 | - fix to not allow native commands to execute if webview command in progress
|
2970 | - bugfix in ios.js that left multiple remote debugger objs hanging around
|
2971 | - bumped command timeout since webview commands don't reset it
|
2972 |
|
2973 | ### ANDROID
|
2974 | - fix in swipe where steps weren't converted to integers
|
2975 | - "mobile: keyevent" for hitting arbitrary keys
|
2976 | - native back()
|
2977 | - xpath search by "*"
|
2978 | - skip uninstall if --fast-reset set
|
2979 | - better error handling if activity is not found
|
2980 | - match other kinds of button than android.widget.Button with "button"
|
2981 | - allow matching custom class name (partial class name matching)
|
2982 | - relaunch on failure (or on screen cap)
|
2983 | - begun work to get bootstrap in maven
|
2984 | - flick() as an alias of sorts for swipe()
|
2985 |
|
2986 | -- changes not tracked before v0.1.3 --
|