{"id":18405849,"url":"https://github.com/galad/tranquire","last_synced_at":"2026-03-10T04:31:52.239Z","repository":{"id":5957516,"uuid":"54328114","full_name":"Galad/tranquire","owner":"Galad","description":"An .NET web UI automation framework based on the screenplay pattern implemented in Serenity BDD","archived":false,"fork":false,"pushed_at":"2023-10-27T08:53:47.000Z","size":6257,"stargazers_count":31,"open_issues_count":33,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-17T04:38:00.151Z","etag":null,"topics":["bdd","screenplay-pattern","selenium","testing"],"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/Galad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-20T16:30:05.000Z","updated_at":"2024-11-06T13:19:17.000Z","dependencies_parsed_at":"2022-09-05T22:13:12.766Z","dependency_job_id":null,"html_url":"https://github.com/Galad/tranquire","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galad%2Ftranquire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galad%2Ftranquire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galad%2Ftranquire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galad%2Ftranquire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Galad","download_url":"https://codeload.github.com/Galad/tranquire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247620273,"owners_count":20968175,"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":["bdd","screenplay-pattern","selenium","testing"],"created_at":"2024-11-06T03:05:16.590Z","updated_at":"2026-03-10T04:31:52.176Z","avatar_url":"https://github.com/Galad.png","language":"C#","readme":"tranquire\n=========\n\n[![NuGet](https://img.shields.io/nuget/v/Tranquire.svg)](https://www.nuget.org/packages/Tranquire/)\n\n\n\nIntroduction\n------------\nTranquire brings the [screenplay pattern](http://www.infoq.com/articles/Beyond-Page-Objects-Test-Automation-Serenity-Screenplay) to .NET. It is highly inspired by the implementation of [Serenity BDD](http://www.serenity-bdd.info). You can refer to the Serenity documentation to understand how Tranquire works.\nIts goal is to better organize UI acceptance tests and make them more maintainable and readable, by applying the single responsability and open-closed principles to UI actions.\n\nTranquire enables UI actions by provinding an abstraction layer on top of [Selenium](http://www.seleniumhq.org/) in a form of a independant composable actions.\n\nDocumentation\n---------------\nSee the [wiki](https://github.com/Galad/tranquire/wiki)\n\nSolution overview \n--------\nThe solution is composed by Tranquire as well as test projects.\n\n### Tranquire\n* Tranquire : the core library\n* Tranquire.Selenium : contains the ui actions and questions used to automate a web UI with Selenium.\n* Tranquire.NUnit : contains methods that allows to use NUnit constraint in Then actions\n\n### Demo project\n* ToDoList : a [todomvc](http://todomvc.com/) web project used to demonstrate tranquire. \n* ToDoList.Automation : the automation framework for the todomvc app.\n* ToDoList.Specifications : the acceptance tests for the todomvc app.\n\n### Tests projects\n* Tranquire.Tests\n* Tranquire.Selenium.Tests\n* Tranquire.NUnit.Tests\n\nBuilding the sources\n--------\n### Requirements\n* .NET core 2.2 SDK\n* .NET Framework 4.6.2 SDK\n* Google Chrome (for Selenium tests)\n* npm (for the Demo app)\n\nUsing Visual Studio 2019, building and testing does not require any particular steps in Debug configuration.\n\n### Building\n```\ndotnet build Tranquire.sln\n```\n\n### Running tests\n```\ndotnet test Tranquire.sln\n```\n\n### Running end to end tests of the demo application\nThe project ToDoList.Specification contains tests at the Api level and the UI level. They are intended to be run is separate test runs.\nIn order to run the level you want you can change the default value [here](https://github.com/Galad/tranquire/blob/a36d15aa429f1a1f13a7d1ea601c9b06eda9d7a1/tests/ToDoList.Specifications/Setup.cs#L225). Change to either `TestLevel.UI` or `TestLevel.Api`, and rebuild the project.\nIt is then recommended to filter the tests by the appropriate category (Api or UI).\n\nAs an alternative you can configure the level and run the tests from the console:\n```\nset TEST_LEVEL=Api\ndotnet test Tranquire.sln --filter Category=Api\n```\n\n[See here](https://github.com/Galad/tranquire/wiki/Demo-application:-ToDoList) for more information about the demo app\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalad%2Ftranquire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalad%2Ftranquire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalad%2Ftranquire/lists"}