Best Vstest code snippet using Microsoft.VisualStudio.TestPlatform.Client.TestPlatformFactory.GetTestPlatform
ListExtensionsArgumentProcessor.cs
Source:ListExtensionsArgumentProcessor.cs
...85 }86 public ArgumentProcessorResult Execute()87 {88 ConsoleOutput.Instance.WriteLine(CommandLineResources.AvailableDiscoverersHeaderMessage, OutputLevel.Information);89 var testPlatform = TestPlatformFactory.GetTestPlatform();90 var extensionManager = TestDiscoveryExtensionManager.Create();91 foreach (var extension in extensionManager.Discoverers)92 {93 ConsoleOutput.Instance.WriteLine(extension.Value.GetType().FullName, OutputLevel.Information);94 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.UriOfDefaultExecutor, extension.Metadata.DefaultExecutorUri), OutputLevel.Information);95 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.SupportedFileTypesIndicator + " " + string.Join(", ", extension.Metadata.FileExtension)), OutputLevel.Information);96 }97 return ArgumentProcessorResult.Success;98 }99 }100 #endregion101 #region List executors102 /// <summary>103 /// Argument Executor for the "/ListExecutors" command line argument.104 /// </summary>105 internal class ListExecutorsArgumentProcessor : ListExtensionsArgumentProcessor106 {107 private const string CommandName = "/ListExecutors";108 public ListExecutorsArgumentProcessor()109 : base(() => new ListExecutorsArgumentExecutor(), () => new ListExtensionsArgumentProcessorCapabilities(CommandName))110 {111 }112 }113 internal class ListExecutorsArgumentExecutor : IArgumentExecutor114 {115 public void Initialize(string argument)116 {117 }118 public ArgumentProcessorResult Execute()119 {120 ConsoleOutput.Instance.WriteLine(CommandLineResources.AvailableExecutorsHeaderMessage, OutputLevel.Information);121 var testPlatform = TestPlatformFactory.GetTestPlatform();122 var extensionManager = TestExecutorExtensionManager.Create();123 foreach (var extension in extensionManager.TestExtensions)124 {125 ConsoleOutput.Instance.WriteLine(extension.Value.GetType().FullName, OutputLevel.Information);126 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AvailableExtensionsMetadataFormat, "Uri", extension.Metadata.ExtensionUri), OutputLevel.Information);127 }128 return ArgumentProcessorResult.Success;129 }130 }131 #endregion132 #region List loggers133 /// <summary>134 /// Argument Executor for the "/ListLoggers" command line argument.135 /// </summary>136 internal class ListLoggersArgumentProcessor : ListExtensionsArgumentProcessor137 {138 private const string CommandName = "/ListLoggers";139 public ListLoggersArgumentProcessor()140 : base(() => new ListLoggersArgumentExecutor(), () => new ListExtensionsArgumentProcessorCapabilities(CommandName))141 {142 }143 }144 internal class ListLoggersArgumentExecutor : IArgumentExecutor145 {146 public void Initialize(string argument)147 {148 }149 public ArgumentProcessorResult Execute()150 {151 ConsoleOutput.Instance.WriteLine(CommandLineResources.AvailableLoggersHeaderMessage, OutputLevel.Information);152 var testPlatform = TestPlatformFactory.GetTestPlatform();153 var extensionManager = TestLoggerExtensionManager.Create(new NullMessageLogger());154 foreach (var extension in extensionManager.TestExtensions)155 {156 ConsoleOutput.Instance.WriteLine(extension.Value.GetType().FullName, OutputLevel.Information);157 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AvailableExtensionsMetadataFormat, "Uri", extension.Metadata.ExtensionUri), OutputLevel.Information);158 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AvailableExtensionsMetadataFormat, "FriendlyName", string.Join(", ", extension.Metadata.FriendlyName)), OutputLevel.Information);159 }160 return ArgumentProcessorResult.Success;161 }162 private class NullMessageLogger : IMessageLogger163 {164 public void SendMessage(TestMessageLevel testMessageLevel, string message)165 {166 }167 }168 }169 #endregion170 #region List settings providers171 /// <summary>172 /// Argument Executor for the "/ListSettingsProviders" command line argument.173 /// </summary>174 internal class ListSettingsProvidersArgumentProcessor : ListExtensionsArgumentProcessor175 {176 private const string CommandName = "/ListSettingsProviders";177 public ListSettingsProvidersArgumentProcessor()178 : base(() => new ListSettingsProvidersArgumentExecutor(), () => new ListExtensionsArgumentProcessorCapabilities(CommandName))179 {180 }181 }182 internal class ListSettingsProvidersArgumentExecutor : IArgumentExecutor183 {184 public void Initialize(string argument)185 {186 }187 public ArgumentProcessorResult Execute()188 {189 ConsoleOutput.Instance.WriteLine(CommandLineResources.AvailableSettingsProvidersHeaderMessage, OutputLevel.Information);190 var testPlatform = TestPlatformFactory.GetTestPlatform();191 var extensionManager = SettingsProviderExtensionManager.Create();192 foreach (var extension in extensionManager.SettingsProvidersMap.Values)193 {194 ConsoleOutput.Instance.WriteLine(extension.Value.GetType().FullName, OutputLevel.Information);195 ConsoleOutput.Instance.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AvailableExtensionsMetadataFormat, "SettingName", extension.Metadata.SettingsName), OutputLevel.Information);196 }197 return ArgumentProcessorResult.Success;198 }199 }200 #endregion201}...
TestPlatformFactory.cs
Source:TestPlatformFactory.cs
...12 /// <summary>13 /// Gets an instance of the test platform.14 /// </summary>15 /// <returns> The <see cref="ITestPlatform"/> instance. </returns>16 public static ITestPlatform GetTestPlatform()17 {18 return testPlatform ?? (testPlatform = new TestPlatform());19 }20 }21}...
GetTestPlatform
Using AI Code Generation
1using Microsoft.VisualStudio.TestPlatform.Client;2using Microsoft.VisualStudio.TestPlatform.ObjectModel;3using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;4using System;5using System.Collections.Generic;6using System.Linq;7using System.Text;8using System.Threading.Tasks;9{10{11static void Main(string[] args)12{13ITestPlatform testPlatform = null;14{15testPlatform = TestPlatformFactory.GetTestPlatform();16}17catch (Exception ex)18{19Console.WriteLine(ex.Message);20}21Console.WriteLine("Press any key to exit...");22Console.ReadLine();23}24}25}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!