A comprehensive curated list of C# test automation frameworks, tools, libraries and software to help software engineers easily bootstrap test automation on C#.
Table of content:
- xUnit frameworks
- TDD \ ATTD \ BDD
- Code Analysis
- Web UI test automation
- Mobile test automation
- Windows UI test automation
- Unix \ Linux UI test automation
- MacOS UI test automation
- Virtual environments
- Performance & stress & load
- Security checking
- Continuous Integration
- Reporting
- Documentation generation
- Editors, IDE and consoles
- Useful libs
Also:
- NUnit ― The most known, extensible and portable(yes, you can run your tests on Mono for Linux and Mac) unit-testing framework in the .Net world. It comes with descent test adapters for Visual Studio 2013 - ... as well as standalone GUI and command line runners
- MSTest (Visual Studio Test) ― the most conservative and slow evolving unit testing framework with only one good thing: it is built-in to the Visual Studio. So, you can always rely it is there.
- xUnit ― the "bleeding edge" unit testing framework, beloved by many developers, even from Microsoft. This is community based open source project, written by the original inventor of NUnit 2.0
- Gallio Icarus and MbUnit ― the most feature reach Test Runner, Test Reporter and Unit testing framework. It is still popular in many .NET shops, especially for running Selenium WebDriver UI tests... Unfortunately, it is not being maintained since 2012. 💀
- Fluent Assertions is a set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test.
string actual = "ABCDEFGHI";
actual.Should().StartWith("AB").And.EndWith("HI").And.Contain("EF").And.HaveLength(9);
- Specflow ― the most popular and feature reach "Cucumber for .NET": BDD and Keywork-driven testing Editor, Runner and Reporter.
- BDDfy is the simplest BDD framework for .Net EVER! The name comes from the fact that it allows you to turn your tests into BDD behaviors simply.
- NCover ― really good code coverage tool, but $$
- OpenCover is a code coverage tool for .NET 2 and above, support for 32 and 64 processes with both branch and sequence points
- See also: Code Coverage for C#/.NET
- Selenium WebDriver ― Yes! WebDriver is everywhere! This is the best and the most popular UI test automation library and infrastructure.
- Coded UI ($$$) (Internet Explorer only) ― Okay... it is integrated into the Visual Studio Premium+ and supports Record&Playback "automation".
- WatiN ― Before the Selenium Webdriver appeared on the market, WatiN was one of the best Web UI automation frameworks for .NET. Now it is not maintained. 💀
- Coded UI supports some level of the mobile test automation for Windows Phone
- Xamarin.UITest is a library that comes with Xamarin Forms and allows you to automate the applications built with Xamarin technology on Windows Phone, iOS and Android
- Appium supports cross platform test automation for Native and Hybrid mobile applications
- Winium.Cruciatus is an open source C# Framework for automated testing of Windows application based on WinForms and WPF platforms.
- Teststack White is one of the most popular and stable open source UI test automation library for Windows (WinAPI / WPF / Silverlight / Windows Forms).
- Coded UI ($$$) does a pretty good job for Windows UI automation. Pricey... because it comes with Visual Studio Premium and Ultimate.
- AutoIt (COM bindings) ― since it implements COM+ interface, autoit can be available from any language on windows, including C#.
- WebAii Testing Framework - Framework for cross-browser testing with native support for Telerik UI for ASP.NET AJAX, Silverlight, WPF, HTML5 and XAML applications, etc.
-
Jenkins ― can be easily configured to support C# continuous integration process:
- Use NUnit as your test runner with Jenkins NUnit Plugin
- Use Microsoft Build Tools to build the project without Visual Studio
- Use Windows Batch files and / or Powershell to perform any system configuration tasks
- Use
msdeploy
from Web Deploy Toolkit in order to perform the remote deployment and configuration tasks.
-
Temacity is a free and simple Build and Continuous integration server. You can run the C# tests just out of the box
-
[Team Foundation Server] ― well... the marketing guys say that it can also build something for you
Doxygen is a free and open source documentation generation platform, that supports multiple languages. You may write a standard C# XML documentation ― and Doxygen will process it correctly; Yo may use markdown and include images ― Doxygen can handle even more. Grab and modify this Doxyfile for C#
- Free Visual Studio Community Edition ― starting from VS2013, Visual Studio Professional is became free for small teams.
- Sharpdevelop is a free and open source IDE for C#
- Json.NET is a popular high-performance JSON framework for .NET
- RestSharp ― simple REST and HTTP API Client
Where to discover new libraries, information, tools, etc.
- automated-testing.info - Test automation community
- atinfo.github.io/at.info-knowledge-base - Knowledge base for test automation examples on different tools and technologies
- python test automation
- java test automation
- ruby test automation
- c# test automation
- php test automation
- javascript test automation
- test automation and software testing as services
Your contributions are always welcome!