SpecSync Documentation
Getting StartedConfigurationGuidesDownloads
Azure DevOps
Azure DevOps
  • Introduction to SpecSync for Azure DevOps
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Add new Test Cases to an Area or an Iteration
      • Mark Test Cases as Automated
      • Setting Test Case state on change
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Reset Test Case state after change
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Add Test Cases to Suites
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies using Test Suites
      • Include synchronized Test Cases to a Test Suite (deprecated)
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
      • Re-link scenarios to new Test Cases
    • Test result publishing features
      • Publishing test result files
      • Support for Azure DevOps Test Plan / Test Suite based test execution
      • Customization: Publishing test results to multiple Test Suites
    • General features
      • Azure DevOps authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Azure DevOps project URL?
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to synchronize automated test cases
    • How to use SpecSync from build or release pipeline
    • How to publish test results from pipelines using the VSTest task
    • How to use the SpecSync Azure DevOps pipeline tasks
    • How to link GitHub pull requests
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with SpecFlow+
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • How to handle Test Cases of multiple parallel application releases
    • Migrating from SpecSync v3 to v5
    • Migrating from SpecSync v2 to v3
    • Migrating from SpecSync v1 to v2
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • re-link
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • knownRemotes
      • synchronization
        • push
        • pull
        • automation
        • state
        • areaPath
        • iterationPath
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • reqnroll
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page
  • Marking only certain Test Cases as automated
  • Update the Test Case automation fields to custom values

Was this helpful?

  1. Features
  2. Push features

Mark Test Cases as Automated

PreviousAdd new Test Cases to an Area or an IterationNextSetting Test Case state on change

Last updated 1 year ago

Was this helpful?

By default the push command creates the Test Cases as Not Automated. To be able to synchronize automated Test Cases (for all or for selected scenarios), you can configure SpecSync for this.

Marking the Test Cases as automated can be used to document the kind of the test. For using certain features of Azure DevOps (e.g. ), marking the Test Cases as Automated is mandatory.

You can enable marking Test Cases as automated by setting the to true.

When the automation synchronization is not enabled, SpecSync resets the automation status to Not Automated when the Test Case is updated. In order to control the automation status with another tool or using the feature, you have to set the toolSettings/doNotSynchronizeAutomationUnlessEnabled configuration setting is set to true and the synchronization/automation/enabled configuration setting to false or leave it unset.

Optionally you can also specify the value to be used for the "Automated test type" field of the Test Case using the synchronization/automation/automatedTestType setting. (By default the field is set to SpecFlow for SpecFlow projects and Gherkin for other projects.)

After changing the automation configuration, you need to perform the push command with an additional --force setting. Using the --force setting is only required once.

specsync.json
{
  ...
  "synchronization": {
    ...
    "automation": {
      "enabled": true
    },
    ...
  },
  ...
}

In SpecSync v3.0 or earlier, the synchronization/automation/testExecutionStrategy had to be also specified when automation was enabled. From v3.1 this is not necessary and recommended to leave it unset, unless you want to use the legacy method.

Marking only certain Test Cases as automated

In some projects the feature files contain non-automated scenarios as well. These scenarios are usually marked with specific tags, like @manual or @ignore or the automated ones are marked with a specific tag, like @automated.

specsync.json
{
  ...
  "synchronization": {
    ...
    "automation": {
      "enabled": true,
      "condition": "not @manual"
    },
    ...
  },
  ...
}

Update the Test Case automation fields to custom values

The methods described above would update the Test Case automation fields to generally usable values. If your project configuration requires specific custom values to be set for these fields, you can update the fields individually using the synchronization/fieldUpdates configuration section that allows you to set values conditionally or decide if you want to set the values only when the Test Case is created (set "default" values) or on each update.

In order to mark only the Test Cases for selected scenarios as automated, you can set a in the synchronization/automation/condition configuration setting as shown below.

A detailed description of the steps required to configure these for the automation fields can be found in the of the "Update Test Case fields" feature description.

local test case condition
Test Suite based execution
synchronization/automation/enabled configuration setting
test-suite based execution
Update Test Case fields
Update automation fields section