Hi, how are you? I work with UI test automation for a long time and I still have difficulties while choosing the best design pattern. Page Objects is largely used, but has its limitations. Screenplay and Behave are a good ideas, but they introduce many layers of abstraction. Screenplay in special has lots of actors that distracts me from the test goals. I was thinking in a way to beat these issues, so I wrote a simple framework based on a design pattern I call Page Transactions. It is inspired on the mentioned patterns, but I tried to make is as simple as possible. The idea of this pattern is use objects to represent the actions/transactions we can perform in web pages like Login, Logout, Search or Submit. There is a handler in this framework that takes the transactions and run them. I made it public yesterday and it is still in Beta version. Iโve had good experiences using it in small to medium projects, but Iโd like the community opinion about it. Iโd appreciate if you could take a look at it and make experiments, comments or questions.
The syntax is
Application.at(APage, do_something, with_a_parameter=a_value).asserts(it.Matches, ACondition)
Iโll not post links here to not bother you, so if you think it is interesting for you search for โguaraโ in GitHub or PyPi page. You will find it there โPython implementation of the Page Transactions pattern for UI test automation. โ.
Thanks a lot for reading it.