microsoft / playwright-dotnet

.NET version of the Playwright testing and automation library.
https://playwright.dev/dotnet/
MIT License
2.5k stars 237 forks source link

[Feature]: TS style test.step trace file grouping #2988

Open infinitejest69 opened 2 months ago

infinitejest69 commented 2 months ago

🚀 Feature Request

I would really like to see some way to use the grouping of steps in trace files the node test runner has into c#

so in TS you can specify

  await test.step('Add Folder Model', async () => {
   //Some Actions like clicking and filling
  });

These appear nicely in a trace and improve it readability massively image

in c# we already have tools like specflow or Reqnroll to make these nice English readable test steps. i would like to add to a before step hook the name of the step and after step hook to close the group

Example

At a guess something that you can access from the browser context tracing ?

        [BeforeStep]
        public async Task BeforeStep(ScenarioContext scenarioContext) {
            var browserContext = scenarioContext.ScenarioContainer as IBrowserContext;
            browserContext.Tracing.StartGroup(scenarioContext.StepContext.StepInfo.Text);
            }

        [AfterStep]
        public async Task AfterStep(ScenarioContext scenarioContext) {
            var browserContext = scenarioContext.ScenarioContainer as IBrowserContext;
            browserContext.Tracing.EndGroup(scenarioContext.StepContext.StepInfo.Text);
            }

Motivation

Makes looking through trace files much nicer and easier and readable what the test is doing

scott-au commented 2 months ago

Related requests: https://github.com/microsoft/playwright-java/issues/1565 https://github.com/microsoft/playwright-python/issues/1949

hopefully it gets out of the p3-collecting-feeback boneyard 🙏🙏🙏