Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

RCS is an Asset Reliability Centered Business Performance Tool, specifically designed for Power Grids and Substations asset reliability management. For this project, we are going to run a series of challenges to automate the test cases for Web application using Selenium framework to make things easier. 

Technology Stack

  • .Net Technology
  • C#
  • Selenium Webdriver
  • SpecFlow - Cucumber for .NET
  • Web App - (Chrome, Firefox, IE11, Safari)

 

App Overview

The app link: https://abbrcstop.azurewebsites.net/#/login

There are multiple different roles in the app. Each role has its own permissions. A user can have 1 or multiple roles. We provided three users with different roles for your testing. The credentials of these users are provided in the forum.

The users with the following roles are provided.

  • System Manager: System manager can manage the entire system, including creating new projects, verifying existing projects and assigning projects to the existing Project Manager ABB and Project Support users, etc.

  • Project Manager ABB: The created project is assigned to this user. The user can manage the projects, including creating new users, new teams, new skills and assigning skills to the existing users.

  • Project Support: The permission is similar to Project Manager ABB.

Requirements

1. Implement the automation testing

Please refer to the Challenge 1_Automation Test Cases.xlsx file provided in the forum, there are 20 test cases in scope.

You should implement the automation testing with Selenium Webdriver (in C#).

Tips: To get familiar with the app, you can follow the steps of the test cases manually to play with the app first, then implement the test case scenarios.

2. Generate the report.

You need to generate a report for all the test cases with SpecFlow.

The report should be in CSV format, it contains the following columns

  • Suite: Test Suite No

  • Epic: Epic No

  • TestID: Test ID

  • StepDescription: Step description

  • Pass/Fail: Is the test passed or failed?

  • Exception_innerException: Exception and Inner Exception

  • Reason: The reason for the failure

  • PageName: The title of the tested page.

  • PageURL: The URL of the tested page.

  • userID: The logged in user ID.

  • userRole: The role of the logged in user.

  • testEnv: Test Environment (Browser, OS).

  • inputParam: Input parameters that are passed

  • exStart: Execution Start time

  • exEnd: Execution End time

  • retryAttemps: Retry Attempts Count

  • expectedRes: Expected Result

  • actualRes: Actual Result

The target test environments are Chrome, Firefox, IE11, Safari. All the environments are in scope.

SpecFlow (Cucumber is for Java, SpecFlow is Cucumber for .NET) is used to specify the tests so you will need to convert the test steps into Cucumber scenarios. Use Page Objects, Backgrounds and Scenario Outlines wisely. Parametrize the steps and reuse existing steps wherever possible. SpecFlow has an extension for VisualStudio that will make it easier to develop and run the tests. Also, take a look at the documentation page at https://specflow.org/docs/.

 

Learning Resources & Tips

Learning resources

  1. Selenium Webdriver with C#:

    1. You can check the official documentation https://www.seleniumhq.org/docs/03_webdriver.jsp

    2. Here is a step by step Youtube video tutorial: https://www.youtube.com/watch?v=wtH4i7CPg1M

  2. An End to End Youtube video example of Using Specflow And Selenium Webdriver: https://www.youtube.com/watch?v=9AgKt4YpRFw

Reference code

We provided the source code of a previous project (attached in the forum) for your reference, you can check the structure of the code about how should the file be organized, how to write a SpecFlow scenario, etc.

You don’t have to use the code as the codebase, you can just take the code as a reference.

 


 


Final Submission Guidelines

Please zip all the following content in a zip archive.

  • The automation testing project solution (with all source code)

  • A deployment guide about how to deploy and run the automation test.

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30104703