Description
We have several page classes in the Pages
namespace. While in the beginning it seemed like a good idea to write tests with page classes, we haven't done that in the end, and using extension methods for common operations turned out to be a better approach. So, now these classes are a parallel infrastructure that we have to maintain with awkward workarounds like manual RefreshCurrentAtataContext()
and TriggerAfterPageChangeEventAsync()
calls. Let's remove these classes and substitute their features with standard extension methods.
- All page class behavior is reimplemented with browser operations and extension methods.
- Nothing in the UI Testing Toolbox and OSOCE uses page classes anymore.
- All page classes and the extension methods using them (like
GoToPageAsync<T>()
) are marked with[Obsolete]
, pointing people to what to use instead.
This is necessary to do before Atata v4 (see what's coming), so we can deprecate everything remaining, release a UITT version, and then update Atata while removing the deprecated methods, not having to update them to Atata v4. At that point, we can remove the Atata.Bootstrap
reference too.