forked from SeleniumHQ/selenium
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
355 lines (321 loc) · 15.8 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
v2.28.0
=======
* Introduced 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. To use a custom finder with the FindsByAttribute, use the
following syntax:
[FindsBy(How = How.Custom,
Using = "customCriteria",
CustomFinderType = typeof(MyCustomBySubclass))]
Using How.Custom without specifying a CustomFinderType, or using a
CustomFinderType that either does not descend from By or does not have a
proper constructor will throw an exception.
v2.27.1
=======
* Corrected FileUtilities.FindFile() to correctly return the current directory
if the specified file is located there. This fixes an issue where driver
service executables (IEDriverServer.exe and chromedriver.exe) would not be
found if placed in the same directory as the WebDriver.dll assembly,
breaking previous behavior.
v2.27.0
=======
* Changed DesiredCapabilities.Safari() to return DesiredCapabilities instead
of ICapabilities. Fixes issue #4865.
* Implemented rudimentary path searching for executable-based drivers (such
as IE, Chrome, and PhantomJS).
* Finally made the .NET PhantomJSDriver public. It still requires a PhantomJS
built from the trunk of that project, at least until PhantomJS 1.8 is
released in late December.
* Implemented touch screen actions for the .NET bindings.
* Added ability to add experimental or additional capabilities for which there
are not yet type safe options to the .NET InternetExplorerOptions and
ChromeOptions classes.
* Removed necessity for path to GhostDriver's main.js for the .NET
PhantomJSDriverService in favor of a command line switch (GhostDriver is now
internal to PhantomJS).
* Modified to no longer hang on alerts triggered by onchange of <select>
elements or by onsubmit of <form> elements. Fixes issue #3508. Fixes issue
#2103.
* Turned off use of the Expect-100 header for the HttpWebRequests.
* Added various StyleCop changes.
* Added support for file uploads to a remote WebDriver server.
* Added a missing method to the Actions API.
v2.26.0
=======
* Prevent firefox from updating, checking and warning for extension and plugin
updates
* Bumping .NET HttpWebRequest service point connection limit to 2000. Fixes
issue #4526.
* Handled the case where a JSON Wire Protocol error response contains a null
value for the message property. Also guarded against null values in other
members of the error response.
* Added .NET implementation of PhantomJSDriver, as a headless option for .NET
users. This driver requires PhantomJS and GhostDriver. Since the GhostDriver
project isn't ready to be used just yet, these classes are marked with
"internal" visibility. When the GhostDriver project is ready, these classes
will be made public. Also including test enhancements for use with
PhantomJS.
* Made keep-alive configurable on .NET HttpCommandExecutor and
DriverServiceCommandExecutor.
* Shortcut trying to convert element to ILocatable if an Action in the .NET
bindings is called specifically with a null value for element.
* Added the LibraryExtractionPath propery to InternetExplorerDriverService to
be able to set the location to which the support library of the
IEDriverServer.exe is extracted.
* Implementing SuppressInitialDiagnosticInformation property on DriverService
to allow users of standalone driver servers to suppress the display of the
initial information from the console via the -silent switch.
* Updated .NET Actions class to accept IWebDriver objects that implement
IWrapsDriver as well as IHasInputDevices. Similarly, actions now can take
IWebElement objects that implement IWrapsElement as well as ILocatable. This
allows the use of EventFiringWebDriver objects directly without casting in
end-user code.
* Changing the disposal semantics of the .NET bindings to more closely match
the .NET Framework disposal semantics. This means that calling Dispose() on
a driver is equivalent to calling Quit(), which enables usage of the using()
construct.
* Replaced throwing of System.TimeoutException with throwing
WebDriverTimeoutException, which now descends from WebDriverException.
* Added .NET InternetExplorerOptions.UnexpectedAlertBehavior property to
specify how unexpected alerts are handled by the IE driver.
* Updated the .NET deployment build to use ILMerge, which merges the dependent
assemblies into the main WebDriver.dll assembly. This also removes
dependencies on NuGet packages for the core WebDriver.dll assembly.
* Updated .NET UnhandledAlertException to include a reference to the Alert not
handled.
* Expose setting the port for DriverService-based drivers.
* Removed visibility of Finder property for FindsByAttribute. This will never
work because of .NET's rules around attribute parameter types.
* Made .NET 4.0 the default of the .NET bindings for development and
debugging.
* Updated constructor to .NET Actions class to check that driver parameter
implements IHasInputDevices.
v2.25.1
=======
* Updated InternetExplorerOptions to allow users to set the IgnoreZoomLevel
setting.
* Exposed constructors in ChromeDriver and InternetExplorerDriver that allow
passing a DriverService object. This gives the user more control over the
properties of the DriverService.
* Updated exception thrown by .NET SafariDriver when a connection to the
driver is not created within 45 seconds.
* Cleaned up documentation comment warning on build of the .NET implementation
of WebDriverBackedSelenium.
v2.25.0
=======
* Updated Json.NET version to 4.5r7. Also changing NuGet packaging to no
longer rely on specific package version of dependencies.
* Updated FxCop/StyleCop global warning suppressions file.
* Updated InternetExplorerDriverService to be able to manipulate the command
line switches using strongly-typed properties of the object.
* Added elementScrollBehavior capability to allow users to specify how
elements scroll into the viewport for interaction. Default behavior is
unchanged (the capability is set to 0), but can be set to scroll to align
to the bottom of the viewport by setting the capability to 1. This commit
includes an addition to the InternetExplorerOptions of the .NET bindings.
* Fixed element finding and table handling in .NET WebDriverBackedSelenium.
v2.24.0
=======
* Updated OpenQA.Selenium.Support.PageObjects.FindsByAttribute so that overridden
operators correctly handle the null case. Fixes issue #4070.
v2.23.0
=======
* Removed the embedded IE server from the .NET bindings. From now on, you
*must* use the IE standalone server with .NET.
* Removed unneeded polling for parent.lock file on anonymous Firefox profile
in temp directory.
v2.22.1
=======
* Not all browser driver implementations understand the generic set timeouts
HTTP endpoint of the JSON wire protocol, instead responding to the
deprecated specific endpoints for each timeout. Fixes issue #4015.
v2.22.0
=======
* The .NET IE driver implementation now looks for the IE standalone server.
Please note that if you do not set the option in InternetExplorerOptions
to use the legacy server, the constructor *will* throw an exception. There
is no automatic fallback to using the embedded .dll, because there's no
standard way in the .NET framework to alert the user to a condition that
needs attention at runtime, and guarantee it will be seen.
* Implemented ability to set page load timeout in the .NET bindings.
* Added tests to .NET bindings to align more closely with Java.
* Added ByChained support to the WebDriver.Support assembly. Also created
additions to the .NET PageFactory to allow decorating members with multiple
instances of FindsByAttribute, including ordering of the attributes (issue
#3870, code supplied by KellySummerlin).
* Updated .NET bindings InternetExplorerOptions to allow the user to disable
native events for IE. Note that actually doing this is not recommended as of
this release.
* Added .NET version of LoadableComponent and SlowLoadableComponent to the
WebDriver.Support assembly (code supplied by KellySummerlin).
* Trivially refactored the constructors of "service-based" drivers for .NET
bindings.
* Made .NET unit tests more friendly to non-Windows operating systems (using
Mono).
* Updated .NET Safari driver to conform to the new message format in r16716.
* Implemented an InitialBrowserUrl property in InternetExplorerOptions to
allow the user to customize the page loaded when IE launches. This can be
used in conjunction with IntroduceInstabilityByIgnoringProtectedModeSettings
property to set the initial Protected Mode zone of the browser. However,
this is still by far a second-best choice, and the first choice should
*always* be to actually set the Protected Mode settings of each zone. If a
user is using this property, only a "best effort" at support will be given.
* Added Android to Platform enumeration (issue #3242).
* Allow user-defined installation path for Safari in the SafariDriver.
* Changed .NET DesiredCapabilities.Android() to correctly assign a platform
value of Android.
v2.21.0
=======
* Updated NoSuchFrameException, NoSuchWindowException, and
NoAlertPresentException to properly descend from NotFoundException
in the .NET bindings.
* Modifying .NET PageFactory so that elements marked with the FindBy
attribute can be used with the interactions API.
* Updated Json.NET dependency to 4.5r1 and NuGet.exe to 1.7.
* Changed the name of the standalone IE driver server from
InternetExplorerDriver.exe to IEDriverServer.exe
* Removed recently added restore window command from .NET bindings.
* Extracted FindFreePort method in .NET to a common utility class.
* Landed the .NET SafariDriver. Woot!
* Added a WebSocket server implementation.
* Implemented window maximize and restore WebDriver commands for the .NET
bindings.
* Fixed .NET FirefoxExtension to allow for parallel installation of extensions
into profiles being run by parallel tests.
* Fixed .NET RemoteWebDriver to translate a single null deliberately passed in
as a script arg into an arg array containing the null.
* Upped service point connection limit for Selenium RC command processor
* Fixed .NET EventFiring WebDriver to switch to a frame using the wrapped
element. Fixes issue #3329.
* Removed deprecated constructors on .NET bindings InternetExplorerDriver
v2.20.0
=======
* No changes specific to the .NET bindings.
v2.19.0
=======
* No changes specific to the .NET bindings.
v2.18.1
=======
* NuGet dependency release. No functional changes to the project.
v2.18.0
=======
* Updated .NET WebDriver.Support assembly to depend on Castle Windsor 3.0
* Updated to JSON.NET to 4.0r6
* Refactored ChromeDriverService to be a subclass of a base DriverService
class, designed to allow any JSON Wire Protocol-compliant standalone server
executable to be used as a service. This adds all required work for the
.NET bindings to begin using the standalone IE remote server.
* Enable CODE_ANALYSIS flag for Debug builds so that standalone FxCop can
take advantage of GlobalSuppressions.cs.
* Added help text to the exception message for WebDriverBackedSelenium, in
the case that the Start() method has not been called on the instance.
v2.17.0
=======
* Reverted the .NET remote Command object to return an empty string
instead of an empty JSON object ("{}") when the command has no parameters.
* Introduced ChromeOptions class for use with the ChromeDriver. This makes
obsolete calling constructors on ChromeDriver that take an ICapabilities
object.
* Updated the .NET PageFactory to traverse the inheritance tree to find
custom attributes (Issue #3172)
* Added toolkit.telemetry.enabled and toolkit.telemetry.rejected to the
default profile used by the FirefoxDriver.
v2.16.0
=======
* Made By, Cookie and Screenshot .NET classes serializable.
* Slightly modifying build output to be more informative when building
.NET bindings from within the Visual Studio IDE.
* Explicitly setting socket.ExclusiveAddressUse = true when attempting to
find a free port for the .NET bindings' FirefoxDriver.
* Updating the .NET remote Command object to return an empty JSON object
("{}") instead of an empty string when the command has no parameters.
* Implementing the /sessions and /status commands for the IE driver and the
.NET bindings.
* Check elements' internal IDs for equality before making RPC call to
determine IWebElement equality in .NET.
* Removed unused JSON wire protocol command values from the .NET bindings.
v2.15.0
=======
* Added support for window positioning and sizing API to IE.
* Introduced DefaultWait class to WebDriver.Support assembly, to allow fully
configurable waits.
* Added IRotatable interface for driving client browsers supporting rotation.
* Introduced experimental ExpectedConditions class to WebDriver.Support
assembly, providing methods to use to wait for commonly-experienced
conditions.
v2.14.0
=======
* Implemented iPad desired capability.
* Updated Json.NET version to 4.0r4
v2.13.0
=======
* Do not use "which" to find Firefox on Windows in the .NET bindings.
* Pass '-foreground' to the firefox binary. Ensures focus by default on OS X.
v2.12.0
=======
* Added experimental IWindow interface for controling size and position of
browser windows.
v2.11.0
=======
* Updated to be consistent with other language bindings. Change to java
server to allow use of safariproxy driver type. No functional changes.
v2.10.0
=======
* Added "extensions.autoDisableScopes" to default Firefox profile
* Removes the deprecated SendModifierKey command, replacing it with
SendKeysToActiveElement
* Added IntroduceInstabilityByIgnoringProtectedModeSettings to
InternetExplorerDriver to make setting capabilities easier when
bypassing the Protected Mode settings check of the IE driver
v2.9.0
======
* Look up private parent fields when using the support classes PageFactory.
* Preparing RemoteWebDriver to understand upcoming URI changes to JSON wire
* protocol.
v2.8.0
======
* Added interactions methods for .Release(), ClickAndHold(), and
DoubleClick() which take no arguments
* Added ClickAt() implementation in WebDriverBackedSelenium
v2.7.0
======
* No functional changes
v2.6.0
======
* Issue 2349: Fixed memory leak in PageFactory
* Issue 2356: Fixed P/Invoke signatures for native .NET 4.0 projects
* Disabled Firefox profile setting "browser.safebrowsing.malware.enabled" by
default
* Issue 2385: Added protected AddAction method on Actions class to allow
subclasses to insert IAction implementations into action chain.
v2.5.1
======
* No functional changes, providing .NET 4.0 binaries and updates to NuGet
packaging only.
v2.5.0
======
* Bringing .NET SelectElement support class in line with Java Select class
* WebDriver.SwitchTo().Alert() now throws an exception when no alert present.
* InvalidSelectorException now thrown when XPath selector syntax is
incorrect.
v2.4.1
======
* No functional changes, updates to NuGet packaging only.
v2.4.0
======
* Adding InvalidSelector error code.
* Default to field/property name if no Using is specified in PageFactory.
* Replaced reference to Ionic.Zip.Reduced.dll with Ionic.Zip.dll to match up
NuGet packages.
v2.3.0
======
* Added protected constructors and properties to make it easier to subclass
By for custom element finders.
v2.2.0
======
* Adding first pass at .NET implementation of proxy management.
* Modifying .NET build process to sign assemblies. Building the .NET bindings
through the IDE or through the command line will now produce signed
assemblies.
* Updating .NET bindings JSON.NET from 3.5 to 4.0.