{"id":19745029,"url":"https://github.com/romfos/autotests.framework","last_synced_at":"2025-06-14T14:39:05.466Z","repository":{"id":40697860,"uuid":"91498686","full_name":"Romfos/AutoTests.Framework","owner":"Romfos","description":"Reqnroll based BDD framework with focus on automation testing for .NET","archived":false,"fork":false,"pushed_at":"2025-05-20T07:42:53.000Z","size":5129,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-20T08:41:20.642Z","etag":null,"topics":["automation-test","autotest-framework","autotests","bdd","bdd-framework","dotnet","playwright","reqnroll","specflow","test-framework","testing","testing-framework","webdriver"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Romfos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-05-16T19:55:35.000Z","updated_at":"2025-05-20T07:42:54.000Z","dependencies_parsed_at":"2023-12-23T02:43:32.836Z","dependency_job_id":"aa9317e9-82b8-4820-91b6-11910dccad94","html_url":"https://github.com/Romfos/AutoTests.Framework","commit_stats":{"total_commits":613,"total_committers":6,"mean_commits":"102.16666666666667","dds":"0.34257748776508967","last_synced_commit":"5b12e3ae3384c2167f74d794e6d50e7afd19c7c9"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/Romfos/AutoTests.Framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romfos%2FAutoTests.Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romfos%2FAutoTests.Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romfos%2FAutoTests.Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romfos%2FAutoTests.Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Romfos","download_url":"https://codeload.github.com/Romfos/AutoTests.Framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romfos%2FAutoTests.Framework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259833459,"owners_count":22918922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation-test","autotest-framework","autotests","bdd","bdd-framework","dotnet","playwright","reqnroll","specflow","test-framework","testing","testing-framework","webdriver"],"created_at":"2024-11-12T02:03:03.392Z","updated_at":"2025-06-14T14:39:05.442Z","avatar_url":"https://github.com/Romfos.png","language":"C#","readme":"# Overview\n\nReqnroll based autotest framework\n\n[![.github/workflows/test.yml](https://github.com/Romfos/AutoTests.Framework/actions/workflows/test.yml/badge.svg)](https://github.com/Romfos/AutoTests.Framework/actions/workflows/test.yml)\n\n[![AutoTests.Framework.Playwright](https://img.shields.io/nuget/v/AutoTests.Framework.Playwright?label=AutoTests.Framework.Playwright)](https://www.nuget.org/packages/AutoTests.Framework.Playwright)\n\nMain features:\n- C# expression support inside features\n- Test data management framework\n- Model transformation framework\n- Component framework for UI testing\n- Playwright integration\n\n# Test example\n```gherkin\nFeature: CheckoutForm\n\nScenario: checkout form validation test\n    Given navigate to '@Data.Common.HomePageUrl'\n    When set following values:\n    | Name                  | Value      |\n    | checkout \u003e first name | first_name |\n    | checkout \u003e last name  | last_name  |\n    And click on 'checkout \u003e continue to checkout'\n    Then should be visible:\n    | Name                              |\n    | checkout \u003e username error message |\n    And should have following values:\n    | Name                              | Value                      |\n    | checkout \u003e username error message | Your username is required. |\n```\n\n# Requirements\n- .NET 8+ (.NET 9 is recommended)\n- Visual Studio 2022 or Visual Studio Code\n- [Reqnroll plugin](https://marketplace.visualstudio.com/items?itemName=Reqnroll.ReqnrollForVisualStudio2022) for Visual Studio 2022 or [Cucumber plugin](https://marketplace.visualstudio.com/items?itemName=CucumberOpen.cucumber-official) for Visual Studio Code\n\n# Nuget packages links  \n- https://www.nuget.org/packages/AutoTests.Framework\n- https://www.nuget.org/packages/AutoTests.Framework.Components\n- https://www.nuget.org/packages/AutoTests.Framework.Playwright\n\n# How to use\nYou can find example in Bootstrap.Tests project for UI testing\n\nBasic steps:\n1) Create basic unit test project is visual studio\n2) Add additional Reqnroll nuget packages:\n\n| Nuget package                              | Link                                                                                                                                                                                                     |\n|--------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| AutoTests.Framework.Playwright             | [AutoTests.Framework.Playwright](https://www.nuget.org/packages/AutoTests.Framework.Playwright)                                                                                                          |\n| Microsoft.Playwright                       | [Microsoft.Playwright](https://www.nuget.org/packages/Microsoft.Playwright)                                                                                                                              |\n| Unit Tests framework adapter nuget package | [Reqnroll.MsTest](https://www.nuget.org/packages/Reqnroll.MsTest) or  [Reqnroll.NUnit](https://www.nuget.org/packages/Reqnroll.NUnit) or [Reqnroll.xUnit](https://www.nuget.org/packages/Reqnroll.xUnit) |\n\n\u003e [!WARNING]  \n\u003e Version of test adapter nuget package should match to Reqnroll package version\n\n3) Create `reqnroll.json` and register framework assemblies. Example:\n```\n{\n  \"$schema\": \"https://schemas.reqnroll.net/reqnroll-config-latest.json\",\n  \"stepAssemblies\": [\n    { \"assembly\": \"AutoTests.Framework\" },\n    { \"assembly\": \"AutoTests.Framework.Components\" },\n    { \"assembly\": \"AutoTests.Framework.Playwright\" }\n  ]\n}\n```\n4) Create Application class for UI application\n\n```csharp\ninternal sealed class BootstrapApplication : IApplication\n{\n    [Route(\"checkout\")]\n    public Checkout? Checkout { get; set; }\n}\n```\n\n# How to make browser window visible\nBy default browser will run in headless mode.\n\nIf you need to change this behavior just add BeforeTestRun hook inside your test app and override BrowserTypeLaunchOptions like this:\n```csharp\n[Binding]\ninternal sealed class ReqnrollHooks\n{\n    [BeforeTestRun(Order = 0)]\n    public static void BeforeTestRun(IObjectContainer objectContainer)\n    {\n        objectContainer.RegisterInstanceAs(new BrowserTypeLaunchOptions { Headless = false });\n    }\n}\n```\n\n# How to work with test data\n\nYou can create json file in Data subfolder and get access to content in feature to it like:\n```gherkin\nFeature: CheckoutForm\n\nScenario: checkout form validation test\n    Given navigate to '@Data.Common.HomePageUrl' #return value HomePageUrl from Data\\Common.json\n```\nYou can find example in 'Bootstrap.Tests'\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromfos%2Fautotests.framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromfos%2Fautotests.framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromfos%2Fautotests.framework/lists"}