title: SpecFlow BDD UI tests running on Azure DevOps pipeline
body: <p>I have created a test suite using SpecFlow BDD with Selenium that I am trying to run on the Azure DevOps using Pipelines:</p>
  <pre><code>trigger:
    - master
  pool:
    name: Hosted Windows 2019 with VS2019
    vmImage: windows-latest
  schedules:
    - cron: '00 16 * * MON,TUE,WED,THU,FRI'
      displayName: Weekdays 4PM build
      branches:
        include:
          - master
          - releases/*
        exclude:
          - development
          - feature/*
  jobs:
    - job: Build
      displayName: Build
      pool:
        vmImage: windows-latest
      steps:
        - task: PowerShell@2
          displayName: Clone the pipelines repository
          inputs:
            targetType: inline
            script: &gt;
              git clone -b master
              https://azuredevops:$($env:token)@dev.azure.com/abc-comapny/MyAzure/_git/MyProject.Builder
              pipeline-repo/
          env:
            token: $(System.AccessToken)
        - task: Bash@3
          displayName: Prepare the nuget.config file
          inputs:
            targetType: inline
            script: |
              echo copying the nuget.config to the root folder
              cp ./pipeline-repo/templates/nuget.config .
        - task: NuGetCommand@2
          displayName: Authenticate with Azure DevOps NuGet
          inputs:
            command: custom
            arguments: &gt;-
              sources update -Name &quot;Azure DevOps&quot; -Username &quot;vsts&quot; -Password
              &quot;$(System.AccessToken)&quot; -StorePasswordInClearText -ConfigFile
              ./nuget.config
        - task: UseDotNet@2
          displayName: Using SDK Version (3.1.x)
          inputs:
            version: 3.1.x
        - task: DotNetCoreCLI@2
          displayName: Restore
          inputs:
            command: restore
            projects: '**/*.sln'
        - task: DotNetCoreCLI@2
          displayName: Build the solution
          inputs:
            command: build
            projects: '**/*.sln'
        - task: SpecFlowPlus@0
          inputs:
            projectFilePath: .
            projectName: MyProject.Qa
            projectLanguage: en
            workItemPrefix: AUTO
        - task: DotNetCoreCLI@2
          displayName: Publish
          inputs:
            command: publish
            publishWebProjects: false
            projects: '**/*.sln'
            arguments: &gt;-
              --configuration Release -o
              $(build.artifactstagingdirectory)/SeleniumTests
            zipAfterPublish: false
            modifyOutputPath: false
        - task: PublishBuildArtifacts@1
          displayName: Publish Artifact
          inputs:
            PathtoPublish: $(build.artifactstagingdirectory)
          condition: succeededOrFailed()
        - script: &gt;-
            dotnet test MyProject.Qa.sln -r &quot;$(Agent.TempDirectory)/&quot; --logger
            &quot;trx;LogFilename=testresults.trx&quot; 
          displayName: Run Unit Tests and Code Coverage
          continueOnError: false
  </code></pre>
  <p>I have tried looking up the instructions given at:</p>
  <p><a href="https://swimburger.net/blog/dotnet/how-to-run-net-core-selenium-ui-tests-on-azure-devops-pipelines" rel="nofollow noreferrer">https://swimburger.net/blog/dotnet/how-to-run-net-core-selenium-ui-tests-on-azure-devops-pipelines</a></p>
  <p><a href="https://www.stuartwhiteford.com/running-selenium-ui-tests-in-an-azure-devops-pipeline/" rel="nofollow noreferrer">https://www.stuartwhiteford.com/running-selenium-ui-tests-in-an-azure-devops-pipeline/</a></p>
  <p><a href="https://azuredevopslabs.com/labs/vstsextend/selenium/#:%7E:text=Navigate%20to%20Pipelines%20under%20Pipelines,successful%2C%20release%20will%20be%20triggered" rel="nofollow noreferrer">https://azuredevopslabs.com/labs/vstsextend/selenium/#:~:text=Navigate%20to%20Pipelines%20under%20Pipelines,successful%2C%20release%20will%20be%20triggered</a>.</p>
  <p>The steps are all passing, but I do not get any result or see any output for the test results.
  I have 2 projects, both MS Test, one for the BDD Specifications and the other for the Selenium framework files:</p>
  <ul>
  <li><p>MyProject.Qa.Specification.csproj</p>
    
  <pre><code>&lt;PropertyGroup&gt;
    &lt;TargetFramework&gt;netcoreapp3.1&lt;/TargetFramework&gt;
  
    &lt;IsPackable&gt;false&lt;/IsPackable&gt;
  &lt;/PropertyGroup&gt;
  
  &lt;ItemGroup&gt;
    &lt;PackageReference Include=&quot;Microsoft.NET.Test.Sdk&quot; Version=&quot;16.7.1&quot; /&gt;
    &lt;PackageReference Include=&quot;MSTest.TestAdapter&quot; Version=&quot;2.1.2&quot; /&gt;
    &lt;PackageReference Include=&quot;MSTest.TestFramework&quot; Version=&quot;2.1.2&quot; /&gt;
    &lt;PackageReference Include=&quot;coverlet.collector&quot; Version=&quot;1.3.0&quot;&gt;
      &lt;PrivateAssets&gt;all&lt;/PrivateAssets&gt;
      &lt;IncludeAssets&gt;runtime; build; native; contentfiles; analyzers; buildtransitive&lt;/IncludeAssets&gt;
    &lt;/PackageReference&gt;
    &lt;PackageReference Include=&quot;Newtonsoft.Json&quot; Version=&quot;12.0.3&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.Support&quot; Version=&quot;3.141.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver&quot; Version=&quot;3.141.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver.ChromeDriver&quot; Version=&quot;85.0.4183.8700&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver.GeckoDriver&quot; Version=&quot;0.27.0&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecFlow&quot; Version=&quot;3.4.3&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecFlow.Assist.Dynamic&quot; Version=&quot;1.4.2&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecFlow.Tools.MsBuild.Generation&quot; Version=&quot;3.4.3&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecRun.Runner&quot; Version=&quot;3.4.12&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecRun.SpecFlow&quot; Version=&quot;3.4.12&quot; /&gt;
  &lt;/ItemGroup&gt;
  
  &lt;ItemGroup&gt;
    &lt;ProjectReference Include=&quot;..\MyProject.Qa.Framework\MyProject.Qa.Framework.csproj&quot; /&gt;
  &lt;/ItemGroup&gt;
  
  &lt;ItemGroup&gt;
  &lt;Folder Include=&quot;FeatureFiles\&quot; /&gt;
  &lt;Folder Include=&quot;Hooks\&quot; /&gt;
  &lt;Folder Include=&quot;SpecFlowPlusRunner&quot; /&gt;
  &lt;Folder Include=&quot;StepDefinitions\&quot; /&gt;
  &lt;/ItemGroup&gt;
  </code></pre>
    
  </li>
  <li><p>MyProject.Qa.Framework.csproj:</p>
    
  <pre><code>&lt;PropertyGroup&gt;
    &lt;TargetFramework&gt;netcoreapp3.1&lt;/TargetFramework&gt;
  
    &lt;IsPackable&gt;false&lt;/IsPackable&gt;
  &lt;/PropertyGroup&gt;
  
  &lt;ItemGroup&gt;
    &lt;PackageReference Include=&quot;DotNetSeleniumExtras.PageObjects&quot; Version=&quot;3.11.0&quot; /&gt;
    &lt;PackageReference Include=&quot;DotNetSeleniumExtras.WaitHelpers&quot; Version=&quot;3.11.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Newtonsoft.Json&quot; Version=&quot;12.0.3&quot; /&gt;
    &lt;PackageReference Include=&quot;NUnit&quot; Version=&quot;3.12.0&quot; /&gt;
    &lt;PackageReference Include=&quot;NUnit3TestAdapter&quot; Version=&quot;3.17.0&quot;&gt;
      &lt;PrivateAssets&gt;all&lt;/PrivateAssets&gt;
      &lt;IncludeAssets&gt;runtime; build; native; contentfiles; analyzers; buildtransitive&lt;/IncludeAssets&gt;
    &lt;/PackageReference&gt;
    &lt;PackageReference Include=&quot;Microsoft.NET.Test.Sdk&quot; Version=&quot;16.7.1&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.Support&quot; Version=&quot;3.141.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver&quot; Version=&quot;3.141.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver.ChromeDriver&quot; Version=&quot;85.0.4183.8700&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver.GeckoDriver&quot; Version=&quot;0.27.0&quot; /&gt;
    &lt;PackageReference Include=&quot;Selenium.WebDriver.GeckoDriver.Win64&quot; Version=&quot;0.27.0&quot; /&gt;
    &lt;PackageReference Include=&quot;SpecFlow&quot; Version=&quot;3.4.3&quot; /&gt;
    &lt;PackageReference Include=&quot;System.Configuration.ConfigurationManager&quot; Version=&quot;4.7.0&quot; /&gt;
  &lt;/ItemGroup&gt;
  
  &lt;ItemGroup&gt;
    &lt;Folder Include=&quot;CommonStructures\&quot; /&gt;
    &lt;Folder Include=&quot;Controllers\&quot; /&gt;
    &lt;Folder Include=&quot;Data\&quot; /&gt;
    &lt;Folder Include=&quot;Dialogs\&quot; /&gt;
    &lt;Folder Include=&quot;Extensions\&quot; /&gt;
    &lt;Folder Include=&quot;Pages\&quot; /&gt;
  &lt;/ItemGroup&gt;
  </code></pre>
    
  </li>
  </ul>
  <p>Has anyone used SpecFlow BDD UI tests with Azure DevOps Pipeline to run the UI tests in a non-headless browser type run? If so, could you inform, what you did and if I am doing anything wrong with the above 'azure-pipeline.yaml' file and need to change anything to run these tests?</p>
  <p>Also, how do I use the above to send across a mail to all the stakeholders? Can I do that with the YAML or do I need to do that from some other part of the Azure DevOps, once I have the report up?</p>