Overview of Selenium tests with C#Bot
The Selenium tests in a C#Bot application are end-to-end integration tests which ensures the running application is working as expected in a browser.
Like the majority of the sections of the C#Bot testing framework, the Selenium tests utilise xUnit as the testing framework and test runner. However, the feature files which were written by the bot and any that you write are not written in a format which allows xUnit to be used. Specflow is the C# equivalent of Cucumber and will generate instances of your feature files in C#. These instances will run the relevant step definition methods, and make assertions based on the steps you have added to your tests. You do not need to modify the files created by Specflow in any way.
The Selenium tests in a Codebots application are accessible through either the Test section of the Platform or through the target application itself. In the target application they can be found here: ‘testtarget/Selenium/Tests/’. This folder contains the feature files for the tests. The step definitions can be found in ‘testtarget/Selenium/Steps/’.
Like the API tests, the Selenium tests require the application to be running to run the tests, as the tests interact with the application and gather information to make their assertions. The selenium tests are run using this command:
Example of a Selenium feature file
@botwritten @create Feature: Create ExpeditionEntity @ExpeditionEntity Scenario: Create ExpeditionEntity Given I login to the site as a user And I navigate to the ExpeditionEntity backend page And I click to create a ExpeditionEntity When I create a valid ExpeditionEntity Then I assert that I am on the ExpeditionEntity backend page And I assert that I can see a popup displays a message: Successfully added Expedition