Skip to content

GitHub Automation is a C# automation project for GitHub.com. It simulates basic new-user operations such as creating a repository, creating a project, and more.

Notifications You must be signed in to change notification settings

ilorwork/GitHub-Automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub-Automation

Summary

GitHub Automation is a C# automation project for GitHub.com.
It simulates basic new-user operations such as creating a repository, creating a project, and more.

Main technologies

This project leverage the following main technologies:

  • C#/.Net 6
  • NUnit 3
  • Selenium WebDriver 4 & Selenium Grid
  • POM design pattern
  • Extent-Reports

Modes of operation

  • Local Browsers (Chrome & Firefox)
  • Remote Selenium Grid (Chrome & Firefox)
  • Filtering by categories
  • Parallel execution

⚙️Setup

To set up the project, follow these steps:

  • Download .NET and install it.
  • Open terminal and run dotnet --info to ensure that the installation was successful.
  • Clone the repository: git clone https://github.com/ilorwork/GitHub-Automation.git
  • Download and install Visual Studio.

Configuration

The project's configuration is managed through the AutomationSettings.RunSetting file,
which can be found inside the infra project.

Parameters

The configuration file includes the following parameters:

  • Browser
    • Allowed Values: ["Chrome", "Firefox", "GridChrome", "GridFirefox"].
    • Default value = "Chrome"
    • Description: Specifies the desired browser for the automation.
  • SiteUrl
    • Value: ["https://github.com"].
    • Description: The URL for your site. For this project, it is set to GitHub's site.
  • GridUrl
    • Value: ["http://<remote_server_ip>:<port>/wd/hub"].
    • Description: The URL of your Selenium Grid.
  • Logger
    • Allowed Values: ["LocalFile", "ExtentReports"].
    • Default value = "ExtentReports"
    • Description: The logger you want to use. Supported loggers are LocalFile and ExtentReports.
  • width
    • Allowed Values: [int >= 0].
    • Default value = 0
    • Description: The width of the browser window.
      Specify 0 or leave it unspecified for maximum size width.
  • height
    • Allowed Values: [int >= 0].
    • Default value = 0
    • Description: The height of the browser window.
      Specify 0 or leave it unspecified for maximum size height.

Test execution

  • To execute the tests, use the following commands via the dotnet CLI:
cd GitHubAutomation

# run all tests
dotnet test

# run tests by categories
dotnet test --filter "Category=<Category_name>"

For more information about the dotnet test command and the --filter option,
refer to the dotnet CLI documentation.

Additional Resources

Feel free to explore the provided resources to learn more about the technologies and patterns used in this project.

About

GitHub Automation is a C# automation project for GitHub.com. It simulates basic new-user operations such as creating a repository, creating a project, and more.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages