Setup of Test automation framework from scratch using NUnit and Specflow and RestSharp and selenium



  • We have so many API's(5 to 8 API calls - Mostly REST based and 1 or 2 in SOAP based) and Oracle DB. We do not have any WEB UI. No UI automation.Only middle tier and backend automation. For automation of multiple REST API's, accessing Oracle DB tables/stored procedures, What are the best possible ways for effective BDD and ATDD Test Automation using C#

    I'm looking combination of these..

    NUnit and Specflow and RestSharp and Selenium with/without Page object model using C#

    NUnit -> I want to use parallel test methods execution/calling with Priorities using C# similar to TestNG in Java.

    //Arrange
    //Act
    //Assert
    

    or

    //SetUp
    //Act
    //Assert
    //TearDown
    

    Specflow -> Gherkin based [Given When And Then] for Behavior driven with Feature files

    RestSharp -> Handling REST API request and response asynchronously using async and wait

    Selenium -> Thinking to use webdriver for Rest API's/DB interactions along with Specflow and Nunit C#. Currently No Web UI.

    PageObjectModel -> Use of PageFactory/Page objects [I think this pattern not required]

    Which pattern is feasible or best to fit above my requirement. No Web UI.

    Help me the ways or pointers to beginning with automation from ground scratch using C#.



  • You seem good to go with some service testing.

    NUnit -> I want to use parallel test methods execution/calling with Priorities using C# similar to TestNG in Java.

    //Arrange

    //Act

    //Assert

    or

    //SetUp

    //Act

    //Assert

    //TearDown

    Both ideas are actually the same. Arrange is a Setup + Teardown.

    Specflow -> Gherkin based [Given When And Then] for Behavior driven with Feature files

    It's a way to document your checks, although it can become cumbersome. Usually, service testing is pretty much self-explanatory.

    RestSharp -> Handling REST API request and response asynchronously using async and wait

    Yep - RestSharp's goal is exactly this. If you create the right boundaries and abstractions, you will be able to simply inject the dependency to RestSharp - enabling you to change to another library if you decide to do so.

    Selenium -> Thinking to use webdriver for Rest API's/DB interactions along with Specflow and Nunit C#. Currently No Web UI.

    Selenium is not meant to interact with services, but with browsers.

    PageObjectModel -> Use of PageFactory/Page objects [I think this pattern not required]

    POMs are meant to abstract graphical interfaces - not a case in this product.



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2