Asynchronous Bindings#

If you have code that executes an asynchronous task, you can define asynchronous bindings to execute the corresponding code using the async and await keywords.

The following example shows a step definition with an asynchronous When step:

Step Definition File#
[When(@"I want to get the web page '(.*)'")]
public async Task WhenIWantToGetTheWebPage(string url)
    var message = await _httpClient.GetAsync(url);
    // ...


You can also use asynchronous step argument transformations.


It is also possible to use ValueTask and ValueTask<T> return types.