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!

2 Likes

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

3 Likes

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

1 Like

Thanks! Weā€™re trialling SpecFlow at the moment so Iā€™m waiting to be convinced that itā€™s the right answer for us. With my automation testers all having C#m, Selenium and some jmeter experience (and well documented test code) Iā€™m not mega keen to add another tool to our arsenal unless it gives us a lot more than a test suite thatā€™s easy for non-tech colleagues to review (at the moment no one outside of the dev department has ever asked about our automation suite so itā€™s not high priority).

Hi Christina,

Form one and a half year I work on the selenium automation testing tool which is helpful for me. but you can find free automation tools or Paid tools as per your needs. Different automation tools exist on the internet, each of them possesses different combinations of features so you can select one of them as per your project specificationā€¦

If you have any query about which one is better for you and what are the latest top automation testing tools you can read here:https://www.testrigtechnologies.com/tool-based-testing-top-10-automation-testing-tools/

Thanks,

Since you have a background of working with C# and .net, I believe SpecFlow will be a great option to pursue for automation. Specflow is actually a behavior-driven development framework which means if your developers have all the understanding of .net, the tool can simplify the whole task of writing automation code and feature files. More importantly, it allows you to write code in any IDE of your choice using C# and .net methods.

My team also uses SpecFlow(C# gerkin). I really enjoy and recommend it. However, it is just to make it more readable to non-coders/business people. We love it since it helps our BA/PO get more confidence and bring them into the testing realm and be able to read and understand what exactly is being tested.

The selenium portion doesnā€™t change(much) so itā€™s honestly a pretty easy swap over, since the core is still the same selenium their used to. Plus if you get the living document running you get quick and easy documentation around the test suites.

As for the REST API tests, weā€™ve began using RestSharp (basically postman but in C#) to do our automation with API/Integration points (this can also be used in conjunction with specflow and the living document to allow more readable API tests here as well but totally not necessary).

Hi
I have used different tools for the production of website regression tests along with Postman. Tools are selenium , cypress, testng etc. But all these tools are time taking and required high level of coding.

So, I am currently using Test Gear tool for the production of website regression tests along with Postman. It is best tool for automation and give result in a very short period of time. For c# and .net products, Test Gear is supported by test suites and also you can add complex POST and PATCH suites of methods to the API.