Run Tests in Parallel
On BrowserStack, you can run multiple SpecFlow tests at the same time across various browser, device and OS combinations. This is “Parallel Testing”. Parallel Testing gives you the same benefits as running a multi-threaded application helps you reduce the run time of your test suite, resulting in faster build times and faster releases.
To run tests on multiple browsers in parallel with SpecFlow on BrowserStack, modify the parallel.conf.js config file as shown below:
// App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
<sectionGroup name="capabilities">
<section name="parallel" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</sectionGroup>
<sectionGroup name="environments">
<section name="chrome" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<section name="firefox" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<section name="safari" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<section name="ie" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</sectionGroup>
</configSections>
<appSettings>
<add key="user" value="YOUR_USERNAME" />
<add key="key" value="YOUR_ACCESS_KEY" />
<add key="server" value="hub-cloud.browserstack.com" />
</appSettings>
<capabilities>
<parallel>
<add key="browserstack.debug" value="true" />
</parallel>
</capabilities>
<environments>
<chrome>
<add key="browser" value="chrome" />
</chrome>
<firefox>
<add key="browser" value="firefox" />
</firefox>
<safari>
<add key="browser" value="safari" />
</safari>
<ie>
<add key="browser" value="ie" />
</ie>
</environments>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /></startup><specFlow>
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config --><unitTestProvider name="NUnit" /></specFlow></configuration>
// Add to AssemblyInfo.cs
[assembly: Parallelizable(ParallelScope.Fixtures)]
Capabilities for each environment can be customised as explained earlier.
Parallel test cases need to be written for running in parallel with SpecFlow.
// Google Feature for parallel run
Feature: Google
Scenario Outline: Can find search results
Given I am on the google page for <profile> and <environment>
When I search for "BrowserStack"
Then I should see title "BrowserStack - Google Search"
Examples:
| profile | environment |
| parallel | chrome |
| parallel | firefox |
| parallel | safari |
| parallel | ie |
You can now run your tests in parallel on BrowserStack using the following steps:
- Build the solution in Visual Studio 2015 Update 2
- Run tests with fixture “parallel” from Test Explorer
Note: Achieve your test coverage and build execution time goals by using our calculator to understand how many parallel sessions you need.
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!