Category: Testing

Appium cross platform

Useful if simplistic info in below link however still using page model… Snippet: Another solution is to use the annotations @AndroidFindBy and @iOSFindBy. With this you can have the same element in the page object class with both annotations and thereby different locators for the different platforms. Example: 1 2 3 @AndroidFindBy(id = “btn_signIn”) […]

Automated testing -> Useful short version Hamcrest matchers replace asserts high degree of complexity easy to understand plain (useful) logging? Examples: allOf – matches if all matchers match (short circuits) anyOf – matches if any matchers match (short circuits) not – matches if the wrapped matcher doesn’t match and vice equalTo – test object equality using the equals method […]

Serenity Test Automation

Focus on screenplay pattern: ( Reminder on ‘SOLID’: The first five principles are principles of class design. They are: SRP The Single Responsibility Principle A class should have one, and only one, reason to change. OCP The Open Closed Principle You should be able to extend a classes behavior, without modifying it. LSP […]

Thoughts on Page Model

Page model alternatives: “Journey” or “Screenplay’ pattern A weak Journey example: SOLID:     Perils of Page-Object Pattern from Anand Bagmar   State modeling:        

Snapshot -> -> Selenium Best Practices

Useful per: Still mostly applies. Snapshotting here for my own benefit as that site is stale. Selenium Best Practices It’s a summary (and few extras) of test_design_considerations Use PageObjects pattern Be fluent with – return this, varargs, generics, – reuse your model and jodatime Be robust and portable – Prefered selector order : id […]