|
| 1 | +v2.46.0 |
| 2 | +======= |
| 3 | + * Supports native events for Firefox version 31 (immediately previous ESR). |
| 4 | + Native event support has been discontinued for versions of Firefox later |
| 5 | + than 33. Synthetic events tested on Firefox versions 31 (immediately |
| 6 | + previous ESR), 37 (immediately previous release), and 38 (current release, |
| 7 | + and current ESR). |
| 8 | + * (on behalf of Darrin Cherry) Modified ExpectedConditions class to more |
| 9 | + closely mimic the one provided by Java. |
| 10 | + * Added ToString override to Platform class. Fixes issue #580. |
| 11 | + * Removed Firefox profile cleaning step when launching Firefox. Firefox used |
| 12 | + to require launching to clean up potential issues with the anonymous |
| 13 | + temporary profile that we use with the driver. This is no longer the case. |
| 14 | + * Added type safe support to InternetExplorerOptions for page load strategy. |
| 15 | + * Added ability to get wrapped IWebElement from SelectElement. When using a |
| 16 | + SelectElement wrapper class to manipulate <select> elements, the user |
| 17 | + previously had to keep a separate reference to the IWebElement representing |
| 18 | + the actual element. The SelectElement class now implements IWrapsElement, |
| 19 | + exposing the WrappedElement property, which gives the user the ability to |
| 20 | + access the underlying IWebElement. Fixes issue #350. |
| 21 | + * (on behalf of clz.livio) Added additional PhantomJS command-line options. |
| 22 | + Added the ProxyAuthorization property and SslCertificatesPath property to |
| 23 | + the PhantomJSDriverSerivce class. These translate to the --proxy-auth and |
| 24 | + --ssl-certificates-path command line options on PhantomJS respectively. |
| 25 | + * (on behalf of clz.livio) Improved DriverService to check response on |
| 26 | + startup. A driver using a driver service will now throw a WebDriverException |
| 27 | + if it cannot start the driver service, or if the service executable returns |
| 28 | + an invalid response. Note that the checks for the validation of the |
| 29 | + repsonses is minimal, checking for the Content-Type header and that the |
| 30 | + response code is a 200. |
| 31 | + * (on behalf of Sergey Tikhomirov) Refactored PageFactory implementation, |
| 32 | + including a number of changes to make it more extensible and more robust. |
| 33 | + |
| 34 | + First, instead of the hand-rolled proxy classes that had been used |
| 35 | + previously, this refactor introduces proxy objects based on |
| 36 | + System.Runtime.Remoting.Proxies.RealProxy, which allows for more |
| 37 | + flexibility in the types of objects proxied. |
| 38 | + |
| 39 | + Second, this refactor now allows users to provide their own implementation |
| 40 | + engines for examining attributes of Page Object classes and determining |
| 41 | + what course to take. To create a new implementation the user must provide |
| 42 | + an implementation of the IPageObjectMemberDecorator interface, which |
| 43 | + determines which attributes to examine fields and properties for, and how |
| 44 | + to create the proxy objects assigned to the members. |
| 45 | + |
| 46 | + Third, this refactor introduces a new IElementLocator interface to Page |
| 47 | + Object implementations, and deprecates the IElementLocatorFactory |
| 48 | + interface. The IElementLocator interface is substantially similar to the |
| 49 | + now-deprecated IElementLocatorFactory, but requires implementations to |
| 50 | + provide a property to retrieve the ISearchContext implementation used to |
| 51 | + actually find elements. The implications of this change are that |
| 52 | + IElementLocator implementations will need to keep a reference to the |
| 53 | + IWebDriver or IWebElement they are using. Recommended practice is for this |
| 54 | + context to be passed in via a the IElementLocator implementation's |
| 55 | + constructor, and this technique is demonstrated in the source code to the |
| 56 | + two implementations provided in the regular .NET language bindings |
| 57 | + releases. |
| 58 | + |
| 59 | + Finally, this commit also introduces a breaking change in |
| 60 | + IElementLocatorFactory. Developers of classes that implement this |
| 61 | + interface will now be required to implement the CreateLocator method, |
| 62 | + which will return a valid IElementLocator implmentation. This is to |
| 63 | + prepare for the removal of the IElementLocatorFactory interface and its |
| 64 | + implmentations in a future release. |
| 65 | + * Added FindsByAllAttribute to .NET PageFactory implementation. This allows |
| 66 | + the user to specify that an element must match the criteria of all of the |
| 67 | + FindsBy attributes a property or field is marked with in order to be found |
| 68 | + by the PageFactory. Previously, a class member marked with multiple FindsBy |
| 69 | + attributes would find an element matching any of the attributes' criteria. |
| 70 | + Because of the nature of this change, you cannot use FindsBySequence and |
| 71 | + FindsByAll on the same class member. Attempting to do so will result in an |
| 72 | + exception when InitElements is called. |
| 73 | + * (on behalf of Immanuel Hayden) Added support for ByAll, finding elements |
| 74 | + matching all locators. |
| 75 | + * (on behalf of Chris Block) Changed ExecuteJavaScript extension method for |
| 76 | + converting result, so that it now validates that the ExecuteJavaScript |
| 77 | + extension method will correctly detect if the script result is convertable |
| 78 | + to the generic type. |
| 79 | + * (on behalf of Yi Zeng) Added constructor overload which takes in single |
| 80 | + DriverService parameter. This pattern was already implemented in |
| 81 | + PhantomJSDriver, but not yet in ChromeDriver and InternetExplorerDriver. |
| 82 | + * Added ability to add custom wire protocol commands in .NET bindings. This |
| 83 | + allows projects that use a WebDriver-like JSON-over-HTTP wire protocol to |
| 84 | + add additional end points for their use. It does this by exposing (and |
| 85 | + renaming) a formerly internal method on the singleton CommandInfoRepository |
| 86 | + class. To add additonal commands, one would call the TryAddCommand method, |
| 87 | + which is now public. Fixes Google Code issue #8594. |
| 88 | + * Added ability to handle W3C spec compliant element serialization. |
| 89 | + * (on behalf of Eberhard Beilharz) Made PhantomJS driver more cross-platform |
| 90 | + aware. On Linux the filesystem is case-sensitive and executables don't end |
| 91 | + with ".exe". This change modifies the PhantomJSDriver to search for |
| 92 | + "phantomjs" on Unix systems while keeping the filename "PhantomJS.exe" on |
| 93 | + Windows. This allows to use the default constructor of the PhantomJSDriver |
| 94 | + class on Linux. Previously using the default c'tor resulted in an error that |
| 95 | + "PhantomJS.exe" can't be found. |
| 96 | + |
1 | 97 | v2.45.0
|
2 | 98 | =======
|
3 | 99 | * Supports native events for Firefox versions 31 (current ESR), and
|
|
0 commit comments