-
Notifications
You must be signed in to change notification settings - Fork 19
Release Notes
Martijn Vermaat edited this page Aug 28, 2023
·
65 revisions
Welcome to the release notes. Any time some new functionality is being added to the package, it will be added to the top of the list of that version. If the latest version is a prerelease, any additional fixes/changes on top of the stable version are added in the prerelease section.
- Added new step to perform access checks with different profiles
- Added check for missing permissions when opening records
- Added automatic retry on 'StaleElementReferenceException' and
- Added formulas for 'CurrentDay' 'CurrentMonth' and 'CurrentYear' that return integers
- Fixed an error when the formid couldn't be determined.
- Added step 'Then the following localized error message appears: '(.*)'
- Replaced collecting formdata (forminfo) via deprecated Xrm.Page command by parsing the FormXml from the SystemForm entity
- Added possibility when testing form state to verify if a field is part of a specific section/tab
- Added possiblity in the step 'Then {alias} has the following values' to add a condition column. Here you may specify a different comparison. Currently supporting Equal, NotNull and Regex. Regex is only for text columns. Omitting the column or a value for the row results in Equal.
- Fields appearing in Business Process Flows can now be filled in and the form state asserted.
- LocalizedTexts fixed after Microsoft issue
- Added missing assertion in ribbon state
- Added option to set statuscode field via UI
- Added step for localized form notifications based on an alias (Then {alias} has the following localized form notifications)
- Fixed an issue with setting / getting environment variables missing the ID and always creating instead of updating
- Added support to enter emailaddesses instead of only lookup values voor activity party columns
- Added support to use ribbon items that are in flyout menus by seperating your ribbon item by a .
- Fixed an issue that verifying N:N relationship couldn't deal with empty expections and actual results
- Add step variant: 'within ([0-9]+) seconds a ([^\s]+) named ([^\s]+) exists with the following values'
- Added an option for redirectactions in case your organization has a custom login page
- Replaced a deprectated Xrm.Page function by getting the ID of the current from the HTML form
- Fixed a timing issue where the item was seen as saved, as the change wasn't processed in the UI yet.
- Added MFA Support
- Ribbon button no longer uses the alt text
- Saving is now improved to reduce saving errors
- SeleniumCommandFactory is added to the SeleniumTestingContext
Starting from 2.3, release notes can be found in github's milestones
None
- Added wait until a subgrid is available instead of crashed if it isn't finished loading
- Replaced a deprecated selenium component
- Opportunity close should now throw an error if a business process error appears. Can be supressed by @ExpectedError
- Fixed a bug where the read-only flag wasn't asserted propertly due a html change
- Screenshots will only be taken if the user is logged in.
- Fixed an issue with taking screenshots when the scenario has a : in its name.
- Updated EasyRepro - added driverspath to avoid driver path issue
- Fixed an error when trying to expand form notifications that are already expanded
- Fixed an issue where trying to open a nonexisting tab resulted in a nullreference. This only happened if the screen was big enough to not have the ... option for more tabs.
- Added steps for opportunity close
- Added functionality to use formulas in tables
- Added new step to check ribbon availability
- Added new step for form notications on current form
- Added a step to close opportunities
- Added the form state 'not on form'
- No longer delete records that aren't created by SpecFlow
- Added parameter to alias cache addition to set if the added record will be deleted on cleanup (default true)
- Setting retrieve steps to no longer delete aliased records on cleanup
- Added a step to assign an alias to a lookup value
- Fixed an issue where form loads still didn't always complete correctly
- Added flexibility for project specific evaluations
- Added additional options to wait for when calling the WaitForFormLoad
- Added double & bigint as number datatypes for setting UI values
- Added an option to create your own error messages
- Added an option to create your own command bar actions.
- When setting DateTime fields, it will no longer use the header instead of the field on the form
- Fixed an issue when DateTime fields still had click intercepts
- Fixed an issue where DateTime fields sometimes didn't have the first character set in the field
- Added two additional browser defaults: UCITestMode & StartMaximized are both defaulted to true
- Fixed an issue where the click would get intercepted when setting value of a field. This only happened if there was a need to scroll upwards
- Added extra logging during the cleanup step after a test scenario
- A screenshot and a snapshot of the HTML will be taken when a test fails and placed in the TestResults directory.
- Added testmode flag in open record
- Update to .NET 4.6.2
- Fixed an issue with converting quotes to sales orders.
- No longer need to click to open a specific app. Instead the app ID will be retrieved via the API. Reduces errors and improved performance.
- Added LastException to CommandProcessor
- Added step to check for error messages
- Adding tag '@ExpectedError' will cause some exceptions to not stop the test
- Fixed an issue lookups with special characters didn't get set properly via the UI
- AssertHelper.HasProperties will now check for all errors before failing, instead of failing on the first. This method is used in the '{alias} has the following values' step.
- Downgraded chromedriver from 76 to 75, because hosted DevOps agents are still on 75
- Fixed an issue where the form load got into timeout if the first tab is hidden
- Added support for multiline text fields via the UI
- Fixed an issue where DateTime and DateOnly fields weren't properly parsed and put into the UI for some formats. Now all formats are parsed properly.
- Fixed an issue the HelperMethods refered to the web UI DLL instead of UCI causing forms to fail to load
- Added 'AdminConnection' to the connectionmanager class. This connection is the one from the appsettings.config
- Did some minor refactoring
- Opening records now require a 'OpenFormOptions' parameter. You can set different options to change the behavior of opening a URL. You can set the ID of the record to open, a parent record and/or a formid. Similar to Xrm.Navigation.OpenForm JavaScript function.
- Refactoring for UISteps. Some fields were made readonly
- Refactoring for CommandProcessor. Removed unneeded fields
- Changed Exceptions to TestExecutionExceptions. All these exceptions have a specific error code (int). The error codes can be found in the GlobalTestingContext. You can manually add your own error messages in a BeforeTestRun hook.
- Added a message for unable to login to CRM
- Navigating for records will check for a JavaScript error after the form is loaded and throws an exception if one is found
- Made the BrowserOptionHelper public
- Made the UCIApp public so you can create your own EasyRepro functions
- Removed the unneeded retry from the GetRecordsCommand
- Moved the Form notification step to the UISteps class
- Moved target from seleniumcontext to crmcontext as it isn't Browser only to check targets.
- Fixed an issue where Date only fields were wrongjly converted
- Added new step that asserts form notifications. You check the message and type of form notification
- Added additional logging for the WaitForAsyncJobs step
- Renamed XPath classes to SeleniumSelector
- Fixed issue the usersettings wern't caches over tests resulting in nullreferenceexceptions when using the settings
- When navigating to a record, then it will check for alerts. If it is present, it will accept the alert so it can navigate.
- Implemented processing for DateTime fields in multiple timezones. It is assumed the DateTime that is specified in the test is the local time of the current systemuser. When parsing DateTime objects, it will be adjusted to UTC. When sending DateTimes via the User Interface, the datetime is converted to local time of the user.
- Implemented DateTime for the userinterface. It uses the DateTime formatting from the user settings to determine the format of DateTime objects to send to the user interface.