public void RunTests() { ITestEngine engine = TestEngineActivator.CreateInstance(); TestSuite mTestSuite = null; ITestEventListener listner = null; //EventListener li = new NullListener(); Console.WriteLine("Created amazonSqsClient"); Console.WriteLine("App Config path:" + AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); var message = testQueue.Get(); if (message == null) return; // if count greater than 3 then delete message if (int.Parse(message.Attributes["ApproximateReceiveCount"]) > 3) testQueue.DeleteMessage(queue.QueueUrl, message.ReceiptHandle); var testmodel = JsonConvert.DeserializeObject<TestModel>(message.Body); Environment.SetEnvironmentVariable("env.testConfig", JsonConvert.SerializeObject(testmodel.ConfigModel)); // if test assembly does not exists delete message if(File.Exists(testmodel.ConfigModel.TestAssembly)) testQueue.DeleteMessage(message); TestPackage package = TestPackage(testmodel.ConfigModel.TestAssembly); AppConfig.Change(package.FullName + ".config"); TestPackage package = new TestPackage(testmodel.ConfigModel.TestAssembly); mTestSuite = new TestSuiteBuilder().Build(package); amazonSqsClient.DeleteMessage(queue.QueueUrl, message.ReceiptHandle); Console.WriteLine("-> starting tests ...."); Console.WriteLine("-> Tests:" + testmodel.ConfigModel.TestAssembly); Console.WriteLine("-> Category:" + testmodel.Category); ITestFilter testFilter = new CategoryFilter(testmodel.Category); ITestRunner runner = engine.GetRunner(package); XmlNode result = runner.Run(, testFilter); TestResult result = mTestSuite.Run(li, testFilter); Thread.Sleep(5000); }