Releases: tnypxl/BasinFramework
Releases · tnypxl/BasinFramework
v1.2.7.1
v1.2.7
v1.2.6
- ➕ ::: Implemented
Locator.AtPosition(int position)to allow choosing an element at a specific index when there are multiple with the same locator properties. - 💚 ::: Updated GitHub build workflow to use docker-compose to spin up Selenoid and a custom version of The Internet (https://the-internet.herokuapp.com).
- ❌ ::: Make
Element.Existsobsolete and use the same code inElement.Displayed.
v1.2.5
- [NEW ✨] Elements can be located based on properties it doesn't have.
- To find a div tag with "foo" as a class name:
DivTag.WithClass("foo") - To find a div tag without "foo" as a class name:
DivTag.WithClass("foo", false)
- To find a div tag with "foo" as a class name:
- [HOUSEKEEPING 🧹] Added ability to configure "HideCommandPromptWindow". It is true by default.
v1.2.4.1
- [HOUSEKEEPING 🧹] Add missing
ScreenandScreenComponentbase classes. Was missed in the last release.
v1.2.4
- [NEW ✨] Added
Use<TPage>()method to PageCollection - [NEW ✨] Added overloads for
Use<TPage>()that returns the page instance
v1.2.3
- [NEW ✨] Added
Screentype equivalents forPageMap,PageandPage<TPageMap> - [HOUSEKEEPING 🧹] Changed PageMap property protection level from public to protected (#58)
- [HOUSEKEEPING 🧹] Removed IHtmlElements interface
- [HOUSEKEEPING 🧹] Removed Interfaces directory
- [HOUSEKEEPING 🧹] Some minor cleanup
v1.2.2
- [FIX 💪🏾]
Element.WithText("$|someString")was not using the correct xpath to locate elements with text that ends with a given string
v1.2.1
- [NEW ✨] Configure driver capabilities via JSON config
v1.2.0
v1.2.0
- [NEW ✨] Add
Precedes(),Follows(),Child(), andParent()methods toLocator() and Element()classes.- Ex:
DivTag.Parent()=> Locates the parent of adivtag. - Ex:
DivTag.Child()=> Locates the child of adivtag. - Ex:
DivTag.Precedes(SpanTag)=> Locates adivtag that precedes anotherspantag. - Ex:
DivTag.Follows(SpanTag)=> Locates adivtag that follows anotherspantag.
- Ex:
- [REFACTOR 🛠] YET ANOTHER overhaul to web driver management. Here is the short list:
- Added mapper classes that map the APIs of driver options and services for Firefox, Chrome, and IE to a common API. This has always been the goal with each iteration of this part of the framework. But this time I prioritized clarity and maintainability.
- Renamed Browser to BrowserSession to prevent namespace collisions with classes in
Basin.Core.