Skip to content

Remove page classes (OSOE-1069) #481

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 tasks
Piedone opened this issue Mar 18, 2025 · 0 comments
Open
3 tasks

Remove page classes (OSOE-1069) #481

Piedone opened this issue Mar 18, 2025 · 0 comments

Comments

@Piedone
Copy link
Member

Piedone commented Mar 18, 2025

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.

Jira issue

@github-actions github-actions bot changed the title Remove page classes Remove page classes (OSOE-1069) Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant