Skip to content

Remove page classes (OSOE-1069) #481

Open
@Piedone

Description

@Piedone

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions