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.Exists
obsolete 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
Screen
andScreenComponent
base 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
Screen
type equivalents forPageMap
,Page
andPage<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 adiv
tag. - Ex:
DivTag.Child()
=> Locates the child of adiv
tag. - Ex:
DivTag.Precedes(SpanTag)
=> Locates adiv
tag that precedes anotherspan
tag. - Ex:
DivTag.Follows(SpanTag)
=> Locates adiv
tag that follows anotherspan
tag.
- 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
.