Distribute Visual Studio Templates With Extensions Installer

Distribute Visual Studio Templates with Extensions InstallerAutomationTools Distribute Visual Studio Templates with Extensions Installer

In the article Defining the Primary Problems that Test Automation Frameworks Solve we defined 40+ problems that test automation and frameworks should be able to solve. One of them was "Tests Speed Creation". In the last couple of publications, I showed you how you could speed up tests development through the use of project templates- Visual Studio Project Templates and .NET Core Project Templates.

Table of ContentsHistoryCreate VSIX Project TemplatePrerequisitesCreate VSIX ProjectInstall VSIX ExtensionUninstall VSIX ExtensionSummary

.NET Core templates are easily distributed through publishing your NuGet packages to nuget.org. Here, I am going to show you how you can create a Visual Studio extensions installer for deploying your VS project and item templates. Later you can even publish them to Visual Studio marketplace.

History

While working on the Bellatrix project. We wanted to find ways to solve all 40+ problems in the best possible way. There were a couple of things that we had to address- distribute the getting-started projects (the so-called starter-kits) across all platforms and give people a fast way to create new Bellatrix test projects.

So, we used three different solutions for test project creation- Visual Studio project templates, .NET Core templates and custom made cross-platform templates. One of the ways for deploying the Bellatrix item and project templates was though Visual Studio extensions installers. Here I am going to share with you how you can use them too.

Create VSIX Project Template

Prerequisites

To find the VSIX project template, you must install the Visual Studio SDK.

1. Click Tools > Get Tools and Features...

Get Tools and Features Menu Visual Studio

2. From the Visual Studio Installer- install Visual Studio extension development

Visual Studio Installer VS extension development feature

Create VSIX Project

1. Open New Project wizard

2. Create new empty VSIX project

Create Empty VSIX Project

3. Create desired item or project templates

For more information how to speed up tests writing check the last four articles in the series:

Standardize Page Objects with Visual Studio Item Templates

Create Multiple Files Page Objects with Visual Studio Item Templates

Speed up Automated Tests Writing with Visual Studio Project Templates

Speed up Automated Tests Writing with .NET Core Project Templates

The item and project templates are zip files.

4. Copy templates' zip files to the new project directory

5. Set Copy to Output Directory build action to Copy Always

Copy to Output Set to Copy Always

6. Open source.extension.vsixmanifest file

7. Populate the information about the installer

Populate VSIX installer information

8. Add the template's zip to Assets based on the type of the template.

Choose Type Assets VSIX

8.1. In our case we choose Microsoft.VisualStudio.ProjectTemplate but you can pick a type for item template or snippet.

8.2. For the source browse to the file that we added to the project.

Template File Path VSIX Installer

9. Set prerequisites for the VSIX installer- which version of Visual Studio will be supported. By default, the latest two versions are set.

VSIX Prerequisites

10. Build your project

InstallVSIX Extension

After you build your project a new *.vsix file is generated in the bin folder. You double click on it, and the template will be installed on your machine.

Install VSIX Extension

You need to close all instances of Visual Studio or the installation will happen on the next restart of the tool.

After the extension is installed, you can create a new project from the extracted template.

Create Project from Installed VSIX Project Template

Uninstall VSIX Extension

From Tool -> Extensions and Updates you can find all installed VSIX extensions. From there you can uninstall the extension.

Uninstall VSIX extension

Summary

In the article, we talked about how you can distribute the project/item templates you created among your peers. It is a convenient way for speed up tests writing and applying common team's coding/quality standards.

Online Training

C# Java Non-functional
LEVEL: 1

C# Web Test Automation Fundamentals

Learn how to write and maintainable C# tests, understand test automation best practices and fundamental testing concepts.
  • C# Level 1
  • C# Unit Testing Fundamentals
  • Source Control Introduction
  • Selenium WebDriver- Getting Started
  • Setup Continuous Integration Job
Duration:
20 hours
4 hour per day

-50% coupon code: BELLATRIX50

See Details
LEVEL: 2

C# Test Automation Advanced

Learn how to use advanced C# features for creating tests. As well riting tests for WPF, WinForms, Universal using WinAppDriver and Android and iOS using Appium.
  • C# Level 2
  • WebDriver Level 2
  • Appium Level 1
  • WinAppDriver Level 1
  • WebDriver in Docker and Cloud
  • Test Reporting Solutions and Frameworks
  • Behavior-Driven Development- SpecFlow
Duration:
30 hours
4 hour per day

-20% coupon code: BELLATRIX20

See Details
LEVEL: 3

C# Enterprise Test Automation Framework

Learn how to build projects structure as well essential design patterns. Handling environment configurations and framework extensibility. After discussing the core characteristics, we will start writing the core feature piece by piece. We will continuously elaborate on why we design the code the way it is and look into different designs and compare them. You will have exercises to finish a particular part or extend it further along with discussing design patterns and best practices in programming. Duration:
30 hours
4 hour per day

-20% coupon code: BELLATRIX20

See Details
LEVEL: 1

Java Web Test Automation Fundamentals

Learn how to write and maintainable Java tests, understand test automation best practices and fundamental testing concepts.
  • Java Level 1
  • Java Unit Testing Fundamentals
  • Source Control Introduction
  • Selenium WebDriver- Getting Started
  • Setup Continuous Integration Job
Duration:
20 hours
4 hour per day

-50% coupon code: BELLATRIX50

See Details
LEVEL: 2

Java Test Automation Advanced

Learn how to use advanced Java features for creating tests. As well riting tests for WPF, WinForms, Universal using WinAppDriver and Android and iOS using Appium.
  • Java Level 2
  • WebDriver Level 2
  • Appium Level 1
  • WinAppDriver Level 1
  • WebDriver in Docker and Cloud
  • Test Reporting Solutions and Frameworks
  • Behavior-Driven Development
Duration:
30 hours
4 hour per day

-20% coupon code: BELLATRIX20

See Details
LEVEL: 3

Java Enterprise Test Automation Framework

Learn how to build projects structure as well essential design patterns. Handling environment configurations and framework extensibility. After discussing the core characteristics, we will start writing the core feature piece by piece. We will continuously elaborate on why we design the code the way it is and look into different designs and compare them. You will have exercises to finish a particular part or extend it further along with discussing design patterns and best practices in programming. Duration:
30 hours
4 hour per day

-20% coupon code: BELLATRIX20

See Details

Performance Testing

Thе course is designed to teach QAs in tutorial format how to plan and conduct a performance test.
  • Fundamentals of Performance Testing
  • Key Factors and Reference Technologies for Performance Testing
  • Fundamentals of Web Technologies
  • Web Debugging with Chrome DevTools, Postman, and Fiddler
  • Performance Testing with WebPageTest
  • Introduction to Jmeter
  • Creating and Executing Jmeter Tests
  • Test Definition, Design, and Plan in Performance Testing
  • Setup of Test Environment
  • CI Integration of Performance and Load Testing
  • Test Execution and Results Analysis
  • Monitoring and Control
Duration:
24 hours
8 hour per day

-30% coupon code: BELLATRIX30

See Details

Related Articles

AutomationTools, Free Tools, Web Automation

UI Performance Analysis via Selenium WebDriver

The article from the series Automation Tools reviews different approaches to check the UI performance of web apps reusing your existing functional Selenium WebDriver tests. We will investigate the native ChromeDriver GetLog feature, the new Selenium 4 DevTools

AutomationTools, Free Tools

Quick Guide Bitbucket Pipelines on Running Selenium C# Tests

In this article from the series Automation Tools, I am going to guide you on how you can set up a Bitbucket Pipelines job for a Selenium C# project, run your Selenium tests, and display the report

AutomationTools, Free Tools, Java

Quick Guide Bitbucket Pipelines on Running Selenium Java Tests

In this article from the series Automation Tools, I am going to guide you on how you can set up a Bitbucket Pipelines job for a Selenium Java project, run your Selenium tests, and display the report

AutomationTools, Free Tools, Java

Quick Guide GitHub Actions on Running Selenium Java Tests

In this article from the series Automation Tools, I am going to guide you on how you can set up a GitHub Actions job for a Selenium Java project, run your Selenium tests, and display the

AutomationTools, Free Tools, Java

Healenium: Self-Healing Library for Selenium-based Automated Tests

In this article, we're going to review a library called Healenium. It is an AI-powered open-source library for improving the stability of Selenium-based tests, handling changes of updated web and mobile elements automatically. We're going to mention

AutomationTools

Software Management Automation in Automated Testing

In the newest article from the Automation Tools Series, we will talk about what software automation management is and how we can utilize it in our automated tests. At the end of the publication, you will

About the author

CTO and Co-founder of Automate The Planet Ltd, inventor of BELLATRIX Test Automation Framework, author of "Design Patterns for High-Quality Automated Tests: Clean Code for Bulletproof Tests" in C# and Java. Nowadays, he leads a team of passionate engineers helping companies succeed with their test automation. Additionally, he consults companies and leads automated testing trainings, writes books, and gives conference talks.

Search

.Net Topics

Web Automation

Development

Mobile Automation

Desktop Automation

API Automation

Design and Architecture

Automation Tools

Enterprise Test Framework

Testing practices

Special Editions

Fun Testing Stories

Java Topics

Web Automation

Mobile Automation

Desktop Automation

Design and Architecture

Testing practices

Special Editions

Fun Testing Stories

Reviews

Free tools

Commercial tools

Latest updates in your mailbox

Subscribe

Join our community

By continuing to browse, you consent to our use of cookies. To know more, please refer to our Privacy Policy. [Y]es, I agree Privacy PolicyPrivacy & Cookies Policy Close

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience. Necessary Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information. Non-necessary Non-necessary Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website. SAVE & ACCEPT

Get Instant Access to the latest Source Code

And join the Automate The Planet Community.

Get Full Source Code

Your Privacy is protected.

xPopulate VSIX installer informationPopulate VSIX installer information

Subscribe

* indicates required Email Address * Name Subscribe for
  • Java
  • C#
I agree to the Privacy Policy and to receive newsletters and products new.

You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.

Your Privacy is protected.

x

Từ khóa » Vs 2019 Custom Template