Screenplay pattern for .NET
var webster = stage.Spotlight<Webster>();
await Given(webster).WasAbleTo(OpenTheUrl(shoppingCartPage));
await When(webster).AttemptsTo(RemoveTheItemFromTheirCartNamed("Widgets"));
await When(webster).AttemptsTo(SaveTheirShoppingCart());
var total = await Then(webster).Should(ReadTheTotalValueOfTheirCart());
Screenplay is a software design pattern to script the automation of complex processes. It is popular for writing BDD-style tests. CSF.Screenplay is a library and framework for the Screenplay pattern.