Recommendations for automation tools. Specflow or other?

I’ve been using selenium and c# for the production of website regression tests along with Postman for a read-only REST API for a number of years and am reviewing the team’s tooling. Our c# and .net products will continue to be supported by selenium and c# test suites but we’re starting to add some complex POST and PATCH suites of methods to the API and also have a new PHP product to consider so we’re looking at our options. Specflow’s been suggested within the team but only one of the team’s used anything Gherkin/Cucumber based before. The testers who will initially be involved in the automation were developers in a previous life and although Specflow looks like it will give code that’s easy to read, is this something that’s going to be around for a while and what is everyone’s general impression please? Will dev orientated testers be happy to use this or will they miss the level of coding that a selenium and c# combination gives them?

Your help is much appreciated!

1 Like

Hi Christina,

Specflow is C#'s version of Cucumber, you may already know this. It is in effect a tool to make your Automation suite more ‘readable’ to business folk who do not have the technical awareness to understand code.
I’ll draw out some of your points and give some of my views:
‘Specflow looks like it will give code that’s easy to read’
The code will be behind your Specflow feature files, it will mean that the business doesn’t need to read your code. So in a word yes this is sort of correct, however your team will need to ‘bind’ your feature files to the code. Which leads me on too…
‘Will dev orientated testers be happy to use this or will they miss the level of coding that a selenium and c# combination gives them?’
They should be happy as it still requires the same level of coding as before, if not some more healthy techniques for them to learn and get their teeth in too, such as Page Object’s and the structure of their Framework. Making sure there is a good level of abstraction as an example. So lots of design, thought and coding is still needed. Added to this, if you already have a framework in place, which you mentioned, you can now add in SpecFlow to give that BDD element on your tests you already have.
‘Specflow’s been suggested within the team’
I am unsure why they suggest this, as it is only to make your automation more ‘readable’ to the business as well as helping the automation/dev team with development as you are driven by a BDD test. It doesn’t address more complex API testing or PHP you mentioned.
Take a look at RestSharp for API testing with your current C# framework: https://github.com/restsharp/RestSharp
for the API testing.

Hope that helps
Thanks
Georgina

Hi Christina,
I’m also testing a front end platform and an api, but currently I use Robot Framework for both.

Robot framework uses keywords which allows less tech savvy users to read, understand and write tests and it can easily import Python scripts which I use when I require a little more complexity.

The framework also integrates well with other tools and generates a very nice report at the end of each execution.

I hope this helps.

Best regards,
Mayra