C# and the disappearing PageFactory – My next steps in Selenium testing

C# and the disappearing PageFactory – My next steps in Selenium testing

This entry is part 1 of 5 in the series Building a .Net Core PageFactory Framework

Being an Open Source project maintainer is a thankless task Ask Jim Evans, the maintainer of the C# (aka dotnet) language bindings for Selenium Webdriver as well as as the Internet Explorer driver that I am sure just about everyone who has ever written a Selenium test has used. Until I started my new job at Altitude Angel 16 days ago I had spent very little time worrying about the C# language bindings as I have been working in Java. As…

Read More Read More

Finally JUnit 5 has native support in Gradle

Finally JUnit 5 has native support in Gradle

As promised, this time I am taking a look at the support that is offered for JUnit 5 now that we are more than 6 months past the official release of JUnit 5. If you have read through the process of developing this test suite, you will be aware that I had to use JUnit’s own JUnitPlatform Gradle plugin to run my test suite. This works just fine, but it is clunky, requires a LOT of code and most frustratingly…

Read More Read More

Implementing Page Blocks

Implementing Page Blocks

I’ve been looking forward to getting around to this for some time. A chance to have a  go at extending WebDriver’s default PageFactory implementation. So what do I mean by a PageBlock? On many websites there are reusable panels that appear on many pages. Many are repeatable blocks within a page and are used in lists such as the article summaries on the homepage. Others occur on many pages throughout a site but are unique within the page such as…

Read More Read More

Injecting the WebDriver not the manager.

Injecting the WebDriver not the manager.

Sorry! I forgot to mention last time that I was having a week off to spend some quality time with my long suffering wife and kids. I have added a fair deal of code, and I don’t plan on explaining all of it here, just the most relevant. Last time, I managed to get dependency injection working, but not in a way that I was at all happy with. My decision to create WebDriverManager classes led me to create a…

Read More Read More

Dependency injection and abstraction.

Dependency injection and abstraction.

Every rose has its thorn. In the unlikely event that you have read all of my posts, you will be aware that I have had a try at dependency injection before but wasn’t happy enough with the results to push them. After looking at it this week I have managed to understand where my difficulties lie and and implement a solution that works. I’m still not really happy with it, but its enough to be able to get going on…

Read More Read More