forked from appium/appium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
451 lines (382 loc) · 14.7 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
CHANGES IN VERSION 0.8.2 (from 0.8.1)
=====================================
#### GENERAL
- make sure build/ is deleted by reset.sh
- re-publish without extraneous artifacts in build/
CHANGES IN VERSION 0.8.1 (from 0.8.0)
=====================================
### GENERAL
- update java examples to show correct use of JavascriptExecutor
- fix parser bug that prevented launching on windows
- fix missing parameter generating exceptions in testsuite
- fix more stdout maxBuffer errors
- fix android tests to use new activity style
- return timeout in set timeout commands
### IOS
- fix mobile safari alert-handling issues
- attempt to capture and resolve location services popup using desired cap
### ANDROID
- require shortcut activities to start with ".", allowing fully-qualified
activities with packages different from the main appPackage
- if appium fails to launch activity with ".", it will retry
- allow downloaded apps to end in .apk as well as .zip
- fix xpath parser error not allowing widget packages to be used
- add longClick command
- added JUnit and TestNG examples
- support ChromiumTestShell as well as Google Chrome for Chrome tests
### SELENDROID
- fall back to `am start` if Selendroid doesn't successfully launch the app
-------------------------------------
CHANGES IN VERSION 0.8.0 (from 0.7.3)
-------------------------------------
[GENERAL]
- bump maxBuffer for various subprocesses
- automatically re-register appium with grid if it disconnects
- augment style guide
- allow appium tests to read appium server port from $APPIUM_PORT
[IOS]
- add support for locking device for X seconds
- add support for backgrounding app for X seconds
- make finding node/instruments_client more robust for instruments context
- mobile methods for installing/uninstalling apps to device
- add shortcut for UIACollectionCell and UIATableCell
- ensure isEnabled returns a boolean value
[ANDROID]
- add mobile: searchId method to search for string by ID
- add mobile: resolveId method to resolve strings
- fix activity detection to be more allowing of different strings
- enable keystore for using different certs
- fix issue when large messages are transferred from bootstrap
- fix takesScreenshot capability
- add long tap method
- make screenshot work on windows
- fix scrollTo support
[CHROME]
- add support for automating Chrome on Android!
[SELENDROID]
- update selendroid to 90aef5d
-------------------------------------
CHANGES IN VERSION 0.7.3 (from 0.7.2)
-------------------------------------
[IOS]
- bugfix: authorize_ios needed #!
-------------------------------------
CHANGES IN VERSION 0.7.2 (from 0.7.1)
-------------------------------------
[GENERAL]
- make sure reset.sh checks for JAVA_HOME set for android/selendroid
- add mobile: reset docs
- alias POST /touch/click to POST /click
[IOS]
- fix discrepancy between isDisplayed() and isVisible() and isEnabled()
- use new Automation.tracetemplate
- fixes for checking alerts in webviews
- page source now gets all windows, not just main window
- allow custom node path by setting NODE_BIN in a settings file
- add authorize_ios binary to npm install so npm users can authorize their ios
sim
[ANDROID]
- use path.resolve in a cross-platform way
[SELENDROID]
- fix use of adb from within selendroid
- keyevent support
- fix app-wait-activity
-------------------------------------
CHANGES IN VERSION 0.7.1 (from 0.7.0)
-------------------------------------
[SELENDROID]
- update to new version with new build instructions
- make selendroid port configurable
[WINDOWS]
- fix use of exec and spawn so external commands work
-------------------------------------
CHANGES IN VERSION 0.7.0 (from 0.6.1)
-------------------------------------
[GENERAL]
- allow new session requests to override current session; this can be disabled
with the --no-session-override flag
- make sure reset.sh fails if android bootstrap can't build
- make --no-reset do what it's supposed to do, and fix description in docs
- check to make sure conflicting arguments aren't passed to the server before
launching
- removed deprecated flags completely (hence the minor version bump)
- bringing some error messages into line across platforms
- fix some issues with grunt building functions
[ANDROID]
- add find element by ID (parses strings.xml)
- remove a sleep in bootstrap server that caused delays
- make sure app is uninstalled when not using fast reset
- make sure AndroidManifest.xml.apk is writable (for npm installed appium)
- make sure device wakes up / unlocks before running test
- add set geo location support
- clean up and fix issues relating to mid-session bootstrap.jar restart
- app-wait-activity now takes comma-separated list of valid activities
[IOS]
- fix some tests
- fix mobile: reset
-------------------------------------
CHANGES IN VERSION 0.6.1 (from 0.6.0)
-------------------------------------
[GENERAL]
- started work on mobile_methods.md doc
- added hardcore mode to reset.sh that will refresh uicatalog inter alia
- ios-webkit-debug-proxy docs
- appium now registers correctly with selenium grid
- better bundle/package detection
[IOS]
- mobile: setLocation and POST /location for setting geolocation
- updated tests to work with new uicatalog version
- allow registering a websocket handler for alerts
- escape sendKeys values so you can send '
- fixed up tests a little bit
[ANDROID]
- fix fast reset race condition
- fix lack of AndroidManifest.xml.src in npm
- allow registering a websocket handler for alerts
- added method for getting location of element
- fixed package name for webviews
-------------------------------------
CHANGES IN VERSION 0.6.0 (from 0.5.2)
-------------------------------------
[GENERAL]
- initial Windows appium support (Android-only)
- reset.sh no longer fails silently if it errors
- added reset.bat for windows
- get status now returns actual appium version
- make sure reset.sh uninstalls android test apps if emulator is running
- include the git revision in the status object and in the logs at startup
- misc bugfixes
[IOS]
- ability to talk to mobile Safari on a real device over USB
- added native back() method
- sendKeys now only taps on field if it doesn't already have focus
[ANDROID]
- find by name checks to see if it found the element
- find by xpath no longer returns duplicate elements
- add support for ADT 22
- add "mobile: waitForPageLoad" that waits for indicators to clear
- fix scrollTo
[SELENDROID]
- build selendroid modded servers in /tmp for npm
- fixed issue with running tests for multiple apps sequentially
[ROBOT]
- initial support for robot automation (robot intercepts tap etc)
[APPIUM.EXE]
- not strictly part of appium, but the Windows GUI has arrived in beta!
-------------------------------------
CHANGES IN VERSION 0.5.2 (from 0.5.1)
-------------------------------------
[IOS]
- fixed regression in mobile safari pre-launch
-------------------------------------
CHANGES IN VERSION 0.5.1 (from 0.5.0)
-------------------------------------
[GENERAL]
- updates to python examples
- refactored configuration code
- initial work making Appium's node code windows-compatible
- more lenient treatment of relationship between $HOME and system username
[IOS]
- fixing webview not waiting for page loading on url nav issue
- added node-idevice which streamlines installing .ipas on real devices
- implement scrollTo
- fixed bug in xpath code which returned last element first
[ANDROID]
- add some docs for installing HAXM
- add scroll_into_view for mobile: find
- completed android element class map
[SELENDROID]
- http timeout tweaks
------------------------------------
CHANGES IN VERSION 0.5.0 (from 0.4.1)
-------------------------------------
[GENERAL]
- significant change for command-line params for appium:
- --without-delay is now on by default. to turn it off, use
--native-instruments-lib if you don't want it
- --fast-reset is now on by default. to turn it off, use --full-reset
- --verbose is now on by default. to turn it off, use --quiet
-------------------------------------
CHANGES IN VERSION 0.4.1 (from 0.4.0)
-------------------------------------
[GENERAL]
- added --dev flag to reset.sh to optionally include test apps / dev deps
- added --verbose flag to reset.sh to optionally spew info (was default)
- reset.sh now puts all binaries in /build so it can be packaged and reused by
npm et al
[IOS]
- added more Java examples
[SELENDROID]
- updated selendroid to 56581e27b45c3a4483d89701fc893ac37b172e46
-------------------------------------
CHANGES IN VERSION 0.4.0 (from 0.3.1)
-------------------------------------
[GENERAL]
- more python examples including for android
- node android code example
- migrated wiki to appium/docs
- added troubleshooting docs
- added auto-tagging of repo on npm publish
- add a config check to make sure reset.sh was run for a specific device
before allowing appium to try to start a session with that device
[IOS]
- various efforts to fix/workaround the (null).tap() issue in UIAutomation
- added shake()
[ANDROID]
- partial match on content-desc
- find aapt in SDK or path
- better logging all around
- ensure app apk exists and fail if not
- added content-desc to all ApiDemos elements
- added --avd flag for launching emulator if not running
- added getName()
- fix mobile: find
[SELENDROID]
- updated selendroid to 0.4
- don't re-build selendroid for each app, just re-insert manifest and build
selendroid in reset.sh instead
[FIREFOXOS]
- Initial Firefox OS support landed!
-------------------------------------
CHANGES IN VERSION 0.3.1 (from 0.3.0)
-------------------------------------
[GENERAL]
- support for xpath indexes
- support for xpath last()
- docs specific to linux
- fix name of npm binary-plist dependency
[IOS]
- update instruments-without-delay (fix #432)
- fix #437 (implicit wait didn't work after ios reset)
- when searching for @text, fall back to @label and @value
- allow @name to refer to @text, @label, and @value
- have "textfield" searches return "secure" fields as well
- add "collection" tag name
- make sure to do a clean build before building sample apps
[ANDROID]
- fix xpath wildcard issue
- fix tag name selector
- alias "window" tag name to "frame"
- tweak flick timing
- have swipe/flick return errors if we know they didn't execute
- fix page source on real device
- use aapt rename to handle manifest stuff
- screenshot support
- support for the clear() method
[SELENDROID]
- fix proxy behavior
- added example/test for selendroid webview
- add WebViewDemo app with tasks for building it
-------------------------------------
CHANGES IN VERSION 0.3.0 (from 0.2.3)
-------------------------------------
[GENERAL]
- Running tests with grunt will now not crash on first test failure
- Rewrote reset.sh to respect sudo and to run for individual platforms
- Changed markdown rendering engine and logic for generating appium.io from
README.md
[ANDROID]
- Add "mobile: find" method for complex find combinations
- Check that clean.apk is signed
- Orientation support
- Update verify.jar to work on java 6
- Massive refactoring of adb.js
- Added Selendroid proxy support (!)
-------------------------------------
CHANGES IN VERSION 0.2.3 (from 0.2.2)
-------------------------------------
[GENERAL]
- removed bloated appium.io submodule, replaced with no-binary one
- Fix plist resetting regression (#342)
- Fix to ensure GET /sessions doesn't return false information
[IOS]
- Allow instruments to find node binaries in MacPorts default location
- Allow instruments to find node binaries from Appium.app
- Rotate screenshots to match orientation of device
- Fix python examples
- Webview: add tests for implicit attributes
- Made sure window handles are always strings
- Reduced flakiness of swipe tests
- Added a Sauce Connect example
- C# example updates
- Fixed a few minor regressions
[ANDROID]
- Large refactoring of bootstrap code
- Moved ApiDemos code into a submodule which is included and built for tests
- Fix install command
- Support for element-based swiping
- Use selenium touch actions for flick()
- Some error message improvements
- Make sure we lint adb.js
-------------------------------------
CHANGES IN VERSION 0.2.2 (from 0.2.1)
-------------------------------------
[IOS]
- safari: use js close() instead of clicking buttons to close windows
- webview: make title() always return title for default context
- webview: async javascript execute
- webview: fix when webelements are returned to client
- allow launching app via bundle id and not just app path
- webview: get/set/delete cookie(s)
- correctly rotate screenshot images if taken in landscape mode
[ANDROID]
- add eclipse formatting file for bootstrap
- stop when activity fails to show up
- make content-desc search case-insensitive and partial
- allow launching emulator according to device id
- only sign app for clean apk once
-------------------------------------
CHANGES IN VERSION 0.2.1 (from 0.2.0)
-------------------------------------
[GENERAL]
- fix bug in npm dependencies (make swig a real dependency)
[IOS]
- fixed scoping bug in alert handling
- get rid of --warp flag, instruments-without-delay is better
- safari: clear cookies/history/windows in between test runs
-------------------------------------
CHANGES IN VERSION 0.2.0 (from 0.1.3)
-------------------------------------
[GENERAL]
- updates to reset.sh
- host our own guinea pig html page for webview tests
- updated java examples and docs
[IOS]
- webview: isActive()
- webview: submit()
- webview: clear()
- webview: selected()
- webview: implicit waits
- webview: location()
- webview: getName()
- webview: moveTo() and generalized click()
- webview: getWindowSize()
- webview: close()
- webview: don't allow alerts to cause webview requests to hang forever
- webview: find element(s) from element
- webview: get alert text
- webview: set prompt value
- allow pre-launching local zips/apps/safari from cli
- webview: allow execution in arbitrary frames
- "mobile: leaveWebView" special command instead of frame(null)
- webview: equalsElement()
- webview: back() and forward()
- webview: refresh()
- "mobile: fireEvent" for webview
- enable setting of device orientation through desired caps
- fix to not allow native commands to execute if webview command in progress
- bugfix in ios.js that left multiple remote debugger objs hanging around
- bumped command timeout since webview commands don't reset it
[ANDROID]
- fix in swipe where steps weren't converted to integers
- "mobile: keyevent" for hitting arbitrary keys
- native back()
- xpath search by "*"
- skip uninstall if --fast-reset set
- better error handling if activity is not found
- match other kinds of button than android.widget.Button with "button"
- allow matching custom class name (partial class name matching)
- relaunch on failure (or on screen cap)
- begun work to get bootstrap in maven
- flick() as an alias of sorts for swipe()
-- changes not tracked before v0.1.3 --