forked from SeleniumHQ/selenium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1429 lines (1239 loc) · 56.9 KB
/
CHANGELOG
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
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v2.41.0
=======
WebDriver:
* Update to support native events for Firefox 28 (removed native event
support for Firefox 26). Native events are now supported for the
following Firefox versions:
17 (immediately previous ESR release)
24 (current ESR release)
27 (immediately previous release
28 (current release)
* Fixed capabilities to be sent properly encoded. For instance,
capabilities for mobile have copyright signs.
* Renamed some commands in the Firefox driver to prepare for Selenium
3. This essentially means that we're mirroring the names of the
commands in the function names within the driver. Also implemented
handling a Selenium 3 style "sessionId" in a Command received by a
Selenium 2 server.
* Implemented support for switching context as described here:
http://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile#133.
This feature will be used by mobile WebDriver users to switch
between different contexts like the native or the webview UI element
tree. The feature is end to end tested with latest Selendroid
snapshot version (6a126ab). In the langauge bindings, this is
implemented as a role-based interface. Subclasses of RemoteWEbDriver
that need this should extend TargetLocator and use covariant return
types to keep everything happy and sweet.
* Removed InternetExplorerDriver constructor that accepts
WindowsProxyManager as a parameter. Proxy management moved to
IEDriverServer and WindowsProxyManager is used for RC only now.
* Removed use of VK_ENTER since its been removed from Firefox. PUA
code uses VK_RETURN now like Mozilla Tools.
* Added switch to parent frame command to the wire protocol and API.
* Added httpOnly flag to Cookie JSON object.
* (on behalf of Tobias Lidskog): Added property for silencing
chromedriver. The Java property "webdriver.chrome.silentOutput" is
now used to set the default value for silent mode in chromedriver
using the ChromeDriverService class. This is analogous to the
existing system property for controlling verbose mode.
* (on behalf of Yi Zeng): Updated download link to googleapis.com
* Reduced the visibility of a deprecated class in the htmlunit driver.
* Removed deprecated FirefoxProfile.setProxyPreferences method.
* Removed deprecated ChromeOptions.setExperimentalOptions
* FIXED: 4843: (on behalf of Jonatan Kronqvist): Regard all modifier
keys in SingleKeyAction. An earlier commit added META, but COMMAND
and LEFT_* were left out as they were misinterpreted as aliases,
which they aren't (they onlyuse the enum definition to get the same
character code of the keys).
* FIXED: 5331: Added javadoc to JavascriptExecutor executeAsyncScript
about the default timeout. Also added some extra information on
troubleshooting common issues.
* FIXED: 7014: Fixed parameters parsing.
* FIXED: 7033: Fixed javadoc.
WebDriverJS:
* FIXED: 7105: Properly bind "this" for beforeEach/it/afterEach in
mocha integration.
Grid:
* Modified to ignore exceptions during the clean-up process if failing
to start a RemoteWebDriver instance.
* FIXED: 6770: Setting a timeout when Jetty has low resources to
prevent hub from hanging.
* FIXED: 6771: If a session times out and the browser was never
started, it should still be cleaned up on the hub side.
BeforeRelease should then be a no-op and not throw.
* FIXED: 6772: Added a configuration parameter to set the number of
threads Jetty uses. Default is -1, which implements the current
behavior (255 threads from Jetty's default settings)
* FIXED 6773: Consuming the request in all cases to properly release
resources.
* FIXED: 6811: Clean up immediately if starting a driver or session
errors in RemoteWebDriver.
* FIXED: 6878: Actually pass the response body to CommandListener
implementations, per the interface contract.
* FIXED: 7047: Updated a grid timeout property that seems to have been
overlooked in a previous cleanup.
RC:
* Added lost quotes in JSON format (RC).
* Removed old version of Selenium RC emulation and leaving the new one
in place.
v2.40.0
=======
WebDriver:
* Update to support native events for Firefox 27 (removed native event
support for Firefox 25).
* Removed the iPhone driver. Also leaving the atoms available, so that
appium and iosdriver can use them.
* Deleted the client side of the AndroidDriver. Note that the atoms
are still left in place so that Selendroid can still be compiled.
* Make the RemoteWebDriver implement TakesScreenshot. There's only one
driver that doesn't implement the interface (the HtmUnitDriver) and
this is the most common cause for using the Augmenter, which isn't
very discoverable.
* Imported PhantomJSDriver 1.1.0, removing 1.0.4 (previous version).
* Implemented augmentation of previously augmented instances
* Fixed JdkAugmenter's inability to add interfaces that are already implemented
* Removed org.openqa.selenium.net.INetAddress, an unnecessary abstraction
around java.net.InetAddress.
* (on behalf of Tobias Lidskog) Add ability to send --silent flag to
chromedriver.
when building an inverted predicate.
* Implemented part of advanced user interactions using injected atoms
* Fixed HtmlUnitDriver to handle timeout exception on refresh.
* Implemented page load timeouts in Firefox without stopping page
loading.
* Implemented pageLoadingStrategy capability in Firefox.
* Migrated the WebDriverBackedSelenium to
com.thoughtworks.selenium.webdriven. This also leaves behind a
deprecated implementation of each of the key interfaces to ease
migration for users.
* Implemented proper error code for the case of invalid css selector
empty class name, and compound class name in atoms.
* Implemented alert and confirmation handling in WDBS (Java)
* Throw a more descriptive error when typing in certain types of input
elements in Chrome. Starting with Chrome 33, certain types of input
elements do not support the selection API (in fact, they throw when
you try to access the property). This prevents us from fully
simulating typing in the atoms.
* FIXED: 2397: (on behalf of TommyBeadle) Fixed exception handling
* FIXED: 3991: Add Keys.chord(Iterable<CharSequence>) as a utility
method.
* FIXED: 4606: Stop web page loading after timeout.
* FIXED: 4843: (on behalf of Jonatan Kronqvist) Keys.META is now
regarded as modifier key in SingleKeyAction. Keys.META, Keys.COMMAND,
Keys.LEFT_ALT, Keys.LEFT_CONTROL and Keys.LEFT_SHIFT are now also
regarded as modifier keys in SingleKeyAction (because of their
aliases).
* FIXED: 5397: Disabled validation of cookies loaded from the browser.
If the browser could parse the cookie we are to be able to provide
this information to the user even if the cookie is inalid.
* FIXED: 5859: Implemented keyDownNative, keyUpNative and
keyPressNative in WDBS. These commands are implemented via Actions.
* FIXED: 6512: When the host is unknown, make the HtmlUnitDriver
return an error page.
* FIXED: 6657: Make the LoggingPreferences implement Serializable.
* FIXED: 6681: Preventing augmentation of subclasses of RemoteWebDriver. Fixes
* FIXED: 6830: (on behalf of GeorgeKlinich) Urlencoding result
returned by server implementation of WebDriverBackedSelenium.
* FIXED: 6834: Creating sesion cookie if expiry is not set. Fixes issue 6834
* FIXED: 6947: Script timeout should get reset even when async
callback is called synchronously.
WebDriverJS:
* For consistency with Closure's new promise API, use thenCatch()
and thenFinally() instead of addCallback(), addErrback(), et al.
* ResultType.EXCEPTION and ResultType.ERROR are handled the exact same way,
so remove one of them and simplify some code.
* Treat promise.fulfill/reject as no-ops instead of throwing if the
promise has already been resolved.
* Added some utility functions to simplify working with arrays of
promises.
* FIXED: 6826: Add support for custom locators in webdriverjs.
Grid:
* FIXED: 4589: Restrict the host where grid hub is listening if -host
option is specified.
* FIXED: 6445: Shorten string representation of capabilities in the
hub log and grid console.
RC:
* Deprecated browser launchers for dead versions of firefox.
v2.39.0
=======
WebDriver:
* Update to support native events for Firefox 26.
* Removed server side of iPhone driver.
* Removed server-side of AndroidDriver and deprecating client side.
WebDriverJS:
* FIXED: 6686: Changed Deferred#cancel() to silently no-op if the
deferred has already been resolved.
v2.38.0
=======
WebDriver:
* Update to support native events for Firefox 25.
* Updated httpclient and httpcore maven dependencies
* When moving the mouse relative to an element hidden in a parent's
overflow region, that element must first be scrolled into view
before the mouse move can be completed.
* Removed WindowsProxyManager from InternetExplorerDriver, proxy
management is implemented in IEDriverServer now.
* The logging level for the FirefoxDriver's native components can now
be set from the command line with the SELENIUM_LOG_LEVEL
environment variable. Valid values are ERROR, WARN, INFO, DEBUG,
and TRACE. If the value is not set, or an unrecognized value is
specified, the log level will be set to FATAL (which was the
previous behavior).
* Implemented ability to return Date object from executeScript
(Firefox only).
* Fixed Firefox returning the actual state of nativeEvents.
* Made it possible to switch the webdriver.xpi from the command line
using a system property.
* Removed hardcoded chromedriver version
* SafariDriver WebElement#getTagName() should return a lowercase
string.
* If ChromeDriver fails to start, suppress any exceptions from the
subsequent "clean-up" quit() so the error from start is not lost.
* Added an alternate, and Android-friendly, implementation of the
Augmenter that uses JDK interface proxies instead of cglib. This
new implementation is available as org.openqa.remote.JdkAugmenter;
the default Augmenter implementation still relies on cglib.
* Prevented an infinite loop when computing overflow state when the
documentElement has fixed position.
* Improveed logging for UnixProcess#destroy().
* If an error is thrown while typing a key sequence, return that
error to the client. Prior to this change, the driver would
effectively hang.
* Do not attempt to generate a key event if the target element is no
longer attached to the DOM. nsIPressShell (which is used to
dispatch events) will throw a generic NS_UNEXPECTED_ERROR if we
fail to make this check.
* FIXED: 3107: (On behalf of Ross Patterson) Preventing possible NPE.
* FIXED: 4501: (On behalf of Robert Ambrus) Introduced a system
property org.openqa.jetty.SocketListener.bufferSize that allows to
set the size of the buffer Jetty uses for network communications.
* FIXED: 4698: Added missing expected conditions.
* FIXED: 5295: User defined element properties should be retrievable
with getAttribute.
* FIXED: 5900: Revamped the SafariDriver's internal networking.
* FIXED: 6294: Implemented ability to switch to a frame by id or name
in WDBS.
* FIXED: 6358: Disabled Content Security Policy in Firefox.
* FIXED: 6414: Fixed the way EventFiringWebDriver unwraps the
underlying driver.
* FIXED: 6431: Catch an exception thrown if the chrome executable is
not found and stop chromedriver before propagating it.
* FIXED: 6445: Shortened Firefox profile textual representation in
capabilities.
* FIXED: 6473: Implemented ability to pass --verbose option to
chromedriver.
WebDriver JS:
* Always annotate errors for rejected promises
* FIXED: 6284: Omit x/y offsets from the mouseMove command instead of
defaulting to (0,0).
* FIXED: 6471: Correctly document the contract on
WebElement#getAttribute
* FIXED: 6612: On Unix, use the default IANA ephemeral port range if
unable to retrieve the current system's range.
* FIXED: 6617: Checking for Error.captureStackTrace is sufficient to
determine if an environment supports stack traces. This avoids
unnecessarily triggering debuggers configured to halt when an error
is thrown.
* FIXED: 6627: Safely rebuild chrome.Options from a partial JSON spec.
Grid:
* FIXED: 6357: Added PhantomJS icon to the grid console.
* FIXED: 6392: Removed misleading log messages.
RC:
* FIXED: 1666: Fixed typo in RegExp.test function name.
* FIXED: 1758: Ignoring closed windows when collecting attributes
from all windows (RC).
* FIXED: 2508: Fixed screenshot size calculation for quirks mode (RC)
* FIXED: 2845: Moved storedVars from test case level to test suite
level.
* FIXED: 3185: Fixed JSON converter (RC).
* FIXED: 3270: Fixed switch to window by var= locator (RC).
* FIXED: 5103: Fixed screenshooter in Firefox and Selenium RC,
limiting the size of the screenshot to pevent failures.
* FIXED: 6496: Enabled .htm and .xhtml extensions for test suites.
v2.37.0
=======
* Fix Firefox native event support on Linux for 23 & 24.
v2.36.0
=======
WebDriver:
* Updated Firefox native event components to support Firefox 24.
* Updated HtmlUnit to 2.13.
* Updated HttpClient to 4.3.
* Updated version of Guava to 15.
* Updated version of wgxpath.
* Return an empty string instead of "null" when the browserName and
version capabilities are not set.
* Stop propagation of the webdriver-evaluate custom event when
executing user supplied JavaScript. Without this change, the event
handler will trigger twice for async scripts, causing the driver to
attempt to evaluate the user script twice, leading to unpredictable
behavior.
* Added a new pause action to the interactions API.
* Improved support for using the HTML5 APIs through the remote
server by augmenting the session driver before attempting to
access HTML5 capabilities. If the driver does not support the
requested feature, throw an UnsupportedCommandException instead of
a ClassCastException.
* Implemented elementScrollBehavior capability in FirefoxDriver.
* Fixed getLocation to work on scrolled pages.
* Fixed autoscrolling for elements located in frames.
* Fixed drag-n-drop for elements in frames in Firefox with native
events
* Implemented SOCKS proxy support for FirefoxDriver
* Fixed support for SVG documents in the atoms.
* Fixed computing an element's container dimensions to account for
the scrollbar size when scrolling
* FIXED: 2670: Made subclasses of By serializable.
* FIXED: 6200: Pass command line arguments to the Selenium server
instead of to the JVM.
* FIXED: 6293: Added more informative error message.
* FIXED: 6346: Allow args to passed to the JVM using the jvmArgs
option.
Grid:
* Added ability to fetch slotCounts from /grid/api/hub. The resource
looks like this:
{ "slotCounts": { "total": 20, "free": 8 } }
* Added ability to fetch newSessionRequestCount from the
/grid/api/hub resource.
v2.35.0
=======
WebDriver:
* Updated Firefox native event components to support Firefox 23.
* Removing deprecated interactions interfaces (Keyboard, Mouse,
TouchScreen).
* Updated operadriver to 1.4.
* Introduced ie.setProxyByServer capability to select how IE browser
proxy will be set up, either by old Java code using Windows
registry or inside IEDriverServer using WinINet methods. This
capability is marked as deprecated and will be removed in future
versions. In the future, IE proxy settings will be set up only by
IEDriverServer. Current default value of ie.setProxyByServer is
false so Windows registry will be used for IE proxy setup.
* Guarded around IE returning an empty object for the active element.
* FIXED: 6055: Fixing "invalid xpath" issue, actually invalid NS
resolver.
WebDriver JS:
* FIXED: 6079: The parent process should not wait for spawned driver
service processes (chromedriver, phantomjs, etc.)
v2.34.0
=======
WebDriver:
* Updated Firefox native event components to support Firefox 22.
* Update synthesized mouse implementation. Mouse moves are
implemented using nsIDOMWindowUtils.
* Finding libX11.so.6 in a slightly more intelligent way: Check that
dlopen actually succeeds, if not found in one of the fixed paths,
look in the LD_LIBRARY_PATH.
* Added ExpectedConditions to check for the visibility of all
WebElements in a List
* Updated the wgxpath library.
* Updated our copy of the Closure compiler and library to the most
recent versions.
* Updated the atoms library, including support for MS pointer events
and refinements to element visibility tests.
* Close all open connections when stopping the SafariDriver server.
* Fall back to a loopback address if the current machine does not
have an external IP address (as will be the case when there is no
internet connection).
* Remove sizzle dependency from the firefox driver. We only needed
this for versions of firefox prior to 3.5, which we no longer
support.
* Fixed Select.escapeQuotes method.
* Added SafariOptions and support for custom Safari extensions.
* Moved Mouse, Keyboard and TouchScreen to the interactions package
where they belong. This has the benefit of also making our build
files simpler once we delete the original versions which have been
deprecated.
* Deprecated the HasTouchScreen interface.
* Fixed condition in Select.select_by_index method to fix case when
selection is performed by index on a multiple select element.
* Implemented an alpha version of a Marionette (WebDriver implemented
natively in Firefox) driver.
* Deprecated IPhoneDriver.
* Added support for the HTML5 "hidden" attribute. If an element, or
ancestor, has hidden attribute make, it is not shown.
* FIXED: 2285: Allow setting default logLevel for standalone-server.
* FIXED: 5609: Adding the ability to redirect firefox process output
to file.
* FIXED: 5669: Add Driver#remote_status for the Ruby remote driver.
* FIXED: 5715: Adding toString method for the event firing
webelement.
WebDriver JS:
* When capturing console output, guard against user scripts that
redefine the console global.
* Improved logging in the test client.
* Use goog.labs.testing.assertThat for the assertThat library.
* Improved stack trace handling
* Defined a webdriver.Capabilities class for webdriverjs.
* Added native ChromeDriver support to WebDriverJs.
* Mark discarded tasks as cancelled to prevent hanging on
asynchronously scheduled callbacks.
* Include the webdriverjs tests in the built npm package. Updated
the README with instructions for running the tests using npm.
* Add native PhantomJS support to webdriverjs.
Grid:
* Update grid for change in behavior of WebDriver's new session
command.
* Fixed handling of JSON conversion errors at node.
* FIXED: 5942: Fix hang of hub when node machine is not available.
RC:
* Fixed RC tests failing in Firefox beta builds. This has been fixed
in two ways:
* Rely on the automation atoms where possible.
* Obtain the document and window from the element the event is
firing from.
In the course of fixing this, all but one usage of "triggerEvent"
was replaced. Because of this, the method has been inlined to the last
call site.
* FIXED: 1646: UTF-8 encoded user-extensions.js support.
v2.33.0
=======
WebDriver:
* getText() ignores elements in the <head>
* Bundled OperaDriver version bumped to 1.3.
* Added a FindAll annotation for the PageFactory to use.
* Added a toString() implementation to Color.
* Deleted the Selenium-backed WebDriver.
* FIXED: 2218: IE >=9 versions triggerMouseEvent like other
browsers.
* FIXED: 2610: Implementing ability to specify path to the chrome
executable in the node configuration file using chrome_binary
capability.
* FIXED: 2685: Increasing port range for Firefox to chose from when
starting.
* FIXED: 4790: Improvements made to Firefox startup in highly
concurrent environments.
* FIXED: 5045: Added support for fetching logs from SafariDriver.
* FIXED: 5652: Adding unhandled alert text to the exception message.
* Added LogType.PERFORMANCE, supported in chromedriver2 0.9+.
WebDriver JS:
* FIXED: 5511: Implement
driver.manage().timeouts().pageLoadTimeout(ms) for WebDriverJs.
* FIXED: 5632: It's now possible to create a new session with
WebDriverJs when running in a browser.
* Add a WebDriverJs client to the SafariDriver's logging window so
it's possible to use WebDriver from the devtools REPL on that
page.
Grid:
* Making "beta" console the default one, it's time to get out of
beta status
* Old console is now available at /grid/old/console/
* Addressed memory leaks caused by per-session logging.
* FIXED: 3001: Making Selenium the default protocol if a node was
started with "-role rc" option.
RC:
* FIXED: 3636: selenium.fireEvent works with the webdriver-backed
selenium and IE.
v2.32.0
=======
WebDriver:
This release supports Firefox verions: 10esr, 17esr, 19, 20
* Let WindowsUtils.killPID() kill the whole process tree
* Implementing support for implicit "submit" button type in
HtmlUnitDriver.
* bug fix for python hang with 302 response
* Adding better support for SVG within Firefox. Has better scrolling
to element and allows JavaScript execution
* Fixing case of "no active element" for HtmlUnitDriver
* WindowsUtils.kill() fix on Windows 8
* Updating HtmlUnit to 2.12 (and cssparser to 0.9.9)
* Fixing illegal negative timeout values for HtmlUnitDriver, zero
means infinite wait
* Implementing pageLoadTimeout in HtmlUnitDriver
* Allow users to specify a custom location for Safari's data
directory using the "safari.dataDir" capability.
* Fix for using DesiredCapabilities with WebDriverBackedSelenium
* PhantomJS Driver bindings updated to 1.0.3
* Minimize the number of third party libraries used by the very
heart of the remote webdriver server.
* fix issue where server was appending '?null' to all forwarded
requests
* Issues fixed: 5293, 4902, 5283, 5278
v2.31.0
=======
(summary not created, check version history logs)
v2.30.0
=======
WebDriver:
* Fixing a bug introduced by a change in how we get already logged
messages from the console service in firefox. This allows us to
function with firefox 19
* FIXED: 1181: Improved loopback detection
* FIXED: 1627: Implementing ability to use auto proxy in
HtmlUnitDriver.
* FIXED: 3652: moveToElement with offset should consider 0 as a
valid value, not as "undefined".
* FIXED: 3868: Better ephemeral port range selection.
* FIXED: 4107: Added prebuilt version of the SafariDriver extension
to the client jar.
* FIXED: 4821: WebDriverBackedSelenium works when added to project
via maven.
* FIXED: 4940, 5075: Added iceweasel to list of firefox variants.
* FIXED: 5022: Text node with overflow:hidden and height/width 0 to
not be visible since we cant see them.
* FIXED: 5030: Only send files to upload, not directories.
* FIXED: 5079: FluentWait.until(Predicate) method does not propagate
predicate message.
* FIXED: 5109: We should show elements visible if there is a pixel
visible.
* Semi-private change: Changes in the Coordinate class.
JS:
* Update WebDriverJS to support parallel flows. This change renames
several low-level classes and functions in the promise module:
promise.Application -> promise.ControlFlow
#schedule(string, function) -> #execute(function, [string])
#scheduleTimeout(string, number) -> #timeout(number, [string])
#scheduleWait(string, function, number, [string]) -> #wait(function, number, [string])
The old schedule* functions are still present, but will print a
warning message if called. They will be removed in 2.31.
RC:
* Added ability to use relative path to an -htmlSuite file.
* FIXED: 3498: Proxy based browsers are back to normal on HTTPS
* FIXED: 5113: Implementing GET requests support for RC protocol.
v2.29.0
=======
WebDriver:
* Firefox 18 support.
* IEDriver supports "requireWindowFocus" desired capability. When
using this and native events, the IE driver will demand focus and
user interactions will use SendInput() for simulating user
interactions. Note that this will mean you MUST NOT use the
machine running IE for anything else as the tests are running.
* Use the "webdriver.remote.shorten_log_messages" system property to
reduce the verboseness of ouput from executeScript and
executeAsyncScript when using the RemoteWebDriver.
* Switching HtmlUnitDriver default from FIREFOX_3_6 to FIREFOX_10
* SafariDriverExtension should restore Safari's previous settings on
shutdown.
* Bundled version of PhantomJSDriver bumped to 1.0.1
* Updated the version of guava-libraries used to 14.
* Updated HtmlUnit to 2.11
* Deprecated XPathLookupException in favour of
InvalidSelectorException
* FIXED: 3602: Changing IE view port calculations to allow for
always-present vertical scroll bar, and to test for horizontal
scroll bar and adjust as required by page content.
* FIXED: 4576: self registering proxy now check for user specified
proxy id.
* FIXED: 5010: icons in chrome newtab now correctly identified as
being shown.
RC:
* FIXED: 4818: Make sure that each generated SSL cert has a unique
ID associated with it.
Project:
* Moved to git. Most obvious in revision number in our exceptions.
v2.28.0
=======
WebDriver:
* "null" can now be passed to executeScript
* .Net: Corrected FileUtilities.FindFile() to correctly return the
current directory if the specified file is located there.
* .Net: Introduces the Updating the CustomFinderType property to the
.NET FindsByAttribute. This allows use of custom By subclasses in
the PageFactory. The custom finder must be a subclass of By, and
it must expose a public constructor that takes a string argument.
* SafariDriver: better attempts to catch native dialogs from user
defined onbeforeunload handlers.
* Updating HtmlUnit to 2.11
* Added the PhantomJS bindings to the release. You'll still need to
download PhantomJS itself separately.
RC:
* Implemented getAllWindowNames in WebDriverBackedSelenium
* Implemented openWindow in WebDriverBackedSelenium to allow opening
relative URLs
v2.27.0
=======
WebDriver:
* Added support for native events for Firefox 17.
* Added support for ghostdriver (PhantomJS)
* Adding new capability "enableElementCacheCleanup" to the IE
driver. When set to true, the IE driver will clean the
known-element cache of invalid elements after every page
load. This is intended to keep memory usage down and improve
performance. However, it is an intrusive change, so this
capability is provided temporarily to allow disabling this
behavior if problems arise. The default of this new capability is
"true", meaning this behavior is turned on by default.
* Added shift key handling to the synthetic keyboard actions.
* Modifying scroll behavior in IE driver SendKeysCommandHandler to
call Element::GetLocationOnceScrolledIntoView() instead of calling
the DOM scrollIntoView() function. Should result in less page
scrolling during test runs.
* Checking if CSS transforms on elements, or their parents, are
hiding them and therefore returning they arent visible.
* Add not, refreshed, invisibilityOfElementWithText to
ExpectedConditions.
* Added support for new IE10 pointer events.
* FIXED: 1543: Allowing equal sign in a cookie value.
* FIXED: 2103, 3508: Modified to no longer hang on alerts triggered
by onchange of <select> elements or by onsubmit of <form>
elements.
* FIXED: 2035: Returning a simple result (null) after opening a new
window instead of the window object (that can't be serialized to
JSON).
* FIXED: 2353: Only call blur() for IE if the element is not the
<body> element.
* FIXED: 3043: Better error message reporting when browser launch
fails.
* FIXED: 4490: Checking script evaluation result to prevent null
reference exception.
* FIXED: 4736: Added all of the extended colour keywords to the
Colors enum in support of
http://www.w3.org/wiki/CSS3/Color/Extended_color_keywords.
* FIXED: 4800: Fixed calculation of coordinates for elements in
frames/iframes where the element is scrolled out of view within
the frame.
Grid:
* FIXED: 3818: Generating session identifiers with UUID to prevent duplication.
RC:
* FIXED: 4668: Fixing ability to open relative URLs in WDBS.
* FIXED: 4273: Added getCssCount to the list of the methods
supported by WebDriverBackedSelenium.
* FIXED: 4055: WDBS implementation of getValue for radio buttons now
reflects behaviour of RC.
* FIXED: 4784: Processing locators before use in getCssCount and
getXpathCount.
v2.26.0
=======
WebDriver:
* Updated OperaDriver to 0.15.
* Added transparency support to the Color class.
* Increased lock time a bit for the FirefoxDriver to make tests more
stable on Windows.
* Added the enablePersistenHover capability to allow the user to specify
whether to use the persistent hover thread in the IE driver. Defaults
to true for IE.
* Added support for native events for Firefox 15 and 16.
* Removed deprecation from ChromeDriver constructors that take a Capabilities
object. Also added a method to set experimental options in ChromeOptions
which may be used to set options that aren't exposed through the ChromeOptions
API.
* Fixed SafariDriver to allow calling .quit() consecutively without error.
* Modified FirefoxDriver to use atoms to switch between frames.
* FIXED: 4535: Hover still does not work perfectly in IE.
* FIXED: 4676: Unable to fire javascript events into SVG's.
* FIXED: 4320: Impossible to IE run tests in parallel via TestNG.
* FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
* FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
* FIXED: 4321: Upgrade HtmlUnitDriver to HtmlUnit 2.10.
* FIXED: 4639: Webdriver 2.25 fails to quit on Windows.
* FIXED: 3774: New SafariDriver sessions do not come with a clean profile.
* FIXED: 4375: Executing javascript hangs Firefox.
* FIXED: 4203: Java SafariDriver has limited websocket frame size.
* FIXED: 4165: WebDriver fails on a machine with no IP address.
* FIXED: 3969: SafariDriver should auto-dismiss alerts.
WebDriverJS:
* FIXED: 4648: findElement errros not helpful.
* FIXED: 4687: webserverjs cannot find module in node.js.
* FIXED: 4649: Wrong Content-Length calculation in webdriverjs.
* FIXED: 4425: Webdriver.js regression: webdriver.By.* selectors defect when
using Node.js.
Grid:
* FIXED: 4433: NPE at grid launch if invalid servlet class name is specified.
* FIXED: 4526: elenium node stop responding when there are 2 or more tests
waiting for a specific node.
* FIXED: 2549: "-role hub" doesn't allow Firefox to starts.
v2.25.0
=======
WebDriver:
* Added API for dealing with BASIC and DIGEST authentication
dialogs. Currently not implemented in any drivers.
* Warn users that the IE driver will no longer use the DLL in the
next release.
* Deprecated browser specific WebElement subclasses.
* Added support for "requiredCapabilities" to the remote webdrivers
and implemented basic support for these in the firefox
driver. Failure to fulfull a required capability will cause a
SessionNotCreatedException to be thrown.
* Added the ability to determine how unhandled alerts should be
handled. This is handled by the "unexpectedAlertBehaviour"
capability, which can be one of "accept", "dismiss" or
"ignore". Java code should use the UnexpectedAlertBehaviour
enum. This is only implemented in Firefox for now.
* Allow native events to be configured in Firefox and
(experimentally) in IE using the "nativeEvents" capability.
* Updated supported versions of Firefox to 17.
* Firefox driver will enumerate through client rects until finding
one with non-zero dimensions when clicking.
* Better support for hovering on linux.
* Safari driver will dismiss open alerts to prevent tests from
hanging.
* Better handling of overflow edge cases when determining element
visibility.
* Point users in the right direction when Safari fails to load a
file:// URL.
* Allowed to use IEDriverServer logging abilities in Java binding.
* Avoid an issue where a call to submit could hang the firefox
driver.
* FluentWait will now handle any Throwable, not just
RuntimeExceptions.
* FIXED: 3897: Allow windows to be resized from a frame.
WebDriverJS:
* Better stack traces from test code.
* Update webdriver.atoms.element.type to recognize
webdriver.Key.SEPARATOR
RC:
* Better emulation provided by the WebDriver-backed Selenium when
using IE, particularly when emulating firing of events.
Grid:
* FIXED: 3230: Implementing /lifecycle-manager?action=shutdown
command for the Grid Hub to ensure backward compatibility with
Grid1 behaviour.
Selenium Server:
* Reworked SSL certificate generation code when proxying HTTPS
connections to use non-deprecated APIs in BouncyCastle.
v2.24.1
=======
WebDriver:
* Work has started on a basic performance profiler.
* Java bindings: The Color class now supports more color conversions.
* Failure to click on an element in the IE Driver will yield a more meaningful
error.
* FIXED: 3268: setting a cookie without one of the optional values (secure)
null pointers through remote webdriver
* FIXED: 1584: bot.dom.getVisibleText does not properly handle display:run-in
or display:table.
* FIXED: 4071: IE: JVM/IEDriverServer Crash when the current window is closed
without switching to another window.
* FIXED: 3683: WebDriver (selenium server) does not use user specified proxy PAC file for IE.
* FIXED: 4070: Dot-net bindings: == oprerator fails if first argument is null.
* FIXED: 4064: Selenium2 crash on IE8 when S_FALSE is returned from get_Document.
* FIXED: 3945: The SafariDriver hangs if an iframe is deleted while it is selected.
* FIXED: 3892: WebdriverJS: Need support mouse events
* FIXED: 3198: Cannot take screenshot from IPhoneDriver in Java
v2.23.1
=======
Selenium RC:
* Support for Firefox 13 on windows with RC api
v2.23.0
=======
WebDriver:
* Firefox 13 support
* CSS Selectors now allow compound selectors
* SafariDriver is (still) in Beta, annotated accordingly in Java
* FIXED: 3785: Implicit waits for Safari driver
* FIXED: 1225: Get text is handled appropriately for self-closing tags.
v2.22.0
=======
Project:
* Code grant from Google acknowledged in our copyright
headers. Thanks, Google!
WebDriver:
* JRE dependency upped to Java 6.
* IE driver now uses the IEDriverServer. You may need to download
this. Set the "useLegacyInternalServer" to boolean true if you
need the old behaviour.
* Standardized colour values returned from getCssValue are
normalized to RGBA.
* IE can use synthesized events if the capability
"enableNativeEvents" is set to false. This is experimental and not
expected to work properly.
* Native events added for Firefox 12.
* Native events retained for Firefox 10, 11, and 3.x
* Selenium-backed WebDriver can now return WebElements from
executeScript.
* With WebElement.getAttribute() a boolean attribute will return
"null" if not present on an element.
* A NoSuchWindowException will be thrown if the currently selected
window is closed and another command is sent.
* SafariDriver improved: frame switching, snapshot taking and JS
executing added.
* SafariDriver: changed message protocol. The 2.22.0 SafariDriver will
not be backwards compatible with Selenium 2.21.
* FIXED: 185: Appending screenshots to remote exceptions is now
optional. Controlled via the "webdriver.remote.quietExceptions"
capability.
* FIXED: 1089: Style attributes are no longer lower-cased by default.
* FIXED: 1934: Firefox cleans up temporary directories more effectively.
* FIXED: 3647: WebElement.sendKeys now works in Firefox on XHTML pages.
* FIXED: 3758: Maximize windows from inside a frame works as expected.
* FIXED: 3825: Alerts from a nested iframe are now handled properly.
Grid:
* Fixing Firefox profile extraction if a grid node started from a
network location (UNC path)
Atoms:
* bot.actions.type now works as expected in Firefox 12.
* Introduced better mouse and keyboard abstractions
v2.21.0
=======
WebDriver:
* Safaridriver has now been added !
* Issue 3489, maximize the browser window
* Significant stability improvements in firefoxdriver.
* Issue 3357 log-path for chromedriver
* IE driver issue 3360
* Android driver issue 3504
* Firefox issue 3559, max-connections-per-server
* Issue 3520
* Issue 2826
* Native events support for Firefox 11
* Dropped native events support for Firefoxes 4-9
Grid:
* Significant changes in the timeout strategy0 between hub, nodes and browser.
See http://code.google.com/p/selenium/wiki/Grid2 section on timeouts.
Compatibility note: It is recommended to at least update the nodes
to 2.21. Upgrading only the hub will effectively disable the
browser-death timeout and is *not* recommended.
* Improved error messages on console
* Content length issue solved, Issue 2362
* Issues 3328,3366
* Improvements in thread dumps in both hub and node,
possible to corrolate the two.
* Added hub api to query parameters
Server:
* -browserTimeout <timeoutInSeconds> added to
differentiate between browser hang and client gone (which is
-timeout <timeout>)
- System property -Dselenium.server.timeout removed, use -timeout instead.
See http://code.google.com/p/selenium/wiki/RemoteWebDriverServer
for further details.
* Issue 3577
v2.20.0
=======
WebDriver:
* RemoteWebDriver.setLogLevel is no longer a static method.
* Introduce a timeout for page loads. This needs to be used in
conjunction with the unstable page load detection.
* Adding alertIsPresent ExpectedCondition.
* Turning off password saving in the Android driver.
* FIXED: 3391: scroll containing elements, not just windows.
* FIXED: 2211: Allow the http client factory to discover the proxy
for traffic between the http command executor and the webdriver
server via the normal system properties.
WebDriverJS:
* Refactored the WebDriverJs promise manager to use a proper tree to
track scheduled tasks.
* In webdriver.Builder, default to http://localhost:4444/wd/hub if a
server URL is not specified.
Grid:
* JDK 1.6.1_31 recommended for maximum stability
* The HUB is now upgraded to run with Jetty 7.6.1.
* Making the id for proxy final, and allowing it to be specified
from the registration request. If the id isn't in the request, the
remote host is used as an id, as it was before.
* FIXED: 3096: Memory leak in selenium hub.
RC:
* More work on SSL certs. Should work cleanly in Firefox now.
* FIXED: 1982: Clear an input element in such a way as to avoid
firing any events when emulating typing in selenium
emulation. Fixes issue 1982.
Atoms:
* Submit a form when the enter button is pressed in its input
element.
* Add a "mouse pixel scroll" event to the atoms events module.
* Adding a public "mouseOver" action and a little internal
refactoring around the mouseOver functionality.
v2.19.0
=======
WebDriver:
* Server-side implementation of the webdriver-backed selenium.
* "sendKeys" works in the webdriver-backed selenium when using
safari.
* Implement local/session storage for iOS driver.
* Exceptions now thrown when an alert occurs during script
execution.
* Native events implemented for Firefox 10.
* Renamed the experimental "fast" page loaded strategy "unstable"
and disable queuing of commands when it's enabled.
* Corrections to javadocs.
* Disabled native events for Firefox 8 as it's deprecated by
Mozilla.
RC:
* Update cybervillains certificate (thanks to Ivan De Marino and
Mark Watson @ Neustar)
* Default to using the native xpath engine in selenium-backed
webdriver instances.
* Correctly fire events when outside a firefox extension
WebDriverJS:
* Return a promise from webdriver.WebDriver.prototype.quit() so
users may register callbacks.
* Small tweaks so WebDriverJs works as expected in IE7/8.
Known Issues:
* Holding down a modifier key and clicking with Firefox 10 on
Windows does not work reliably when using native events.
v2.18.0
========
WebDriver:
* FIXED: 3169: Getting value attribute on option elements.
* Alert handling in Firefox and IE: Throwing UnhandledAlertException
if an alert is present during an operation. The unhandled alert is
also dismissed to mitigate repeat exceptions.
* Better handling of getText invocations on SVG elements.
* FIXED: 3253: Clicking stopped working on Firefox 4.
* Android Driver now supports Flash, Geolocation.
* FIXED: 1371: iPhone Driver now supports frame switching.
RC:
* FIXED: 2958: Selenium RC now closes IE HTA when the tests finish.
WebDriverJs:
* Fixes around findElements.
v2.17.0
========
WebDriver:
* Removed deprecated methods
* FIXED: 3152: iWebDriver will auto-play HTML5 video
* Fixed issue with permissions on windows caused by wrapping
* FIXED: 3154, 3144: Issues launching Firefox 9 due to modal dialog
* Adding warning to android apk when used with an incompatible
android version (issue 3142)
* FIXED: 3167: Sending empty keys to a text field no longer throws
* FIXED: 3173: Using ChromeOptions no longer causes stack exhaustion
* FIXED: 3169: getAttribute("value") falls back to the text of
option tags, if no value attribute is specified
* Updated operadriver to version 0.9
Maven:
* NOTE: We have removed our dependency on the operadriver from our
pom, because it creates a circular dependency. To use the
operadriver, add the following dependency to your own pom.xml
file:
<dependency>
<groupId>com.opera</groupId>
<artifactId>operadriver</artifactId>
<version>0.9</version>