private void invokeListener(TestListenerDescriptor testListenerDescriptor, string method, params object[] parameters) { TestListener testListenerInstance = null; var testScriptObject = parameters[0] is TestScriptObject ? (TestScriptObject)parameters[0] : null; lock (getInstanceLock) { testListenerInstance = getListenerInstance(testListenerDescriptor); } testListenerInstance.VirtualUser = VirtualUser; Type type = testListenerInstance.GetType(); MethodInfo methodInfo = type.GetMethod(method); // If method does not have the NoOperation attribute applied, continue if (isOperable(methodInfo)) { if (testScriptObject is null) { logEvent.Info($"Invoking listener \"{testListenerDescriptor.Name}\" event handler \"{method}\" ({VirtualUser})"); } else { logEvent.Info( $"Invoking listener \"{testListenerDescriptor.Name}\" event handler \"{method}\": \"{testScriptObject.Title}\" ({VirtualUser})"); } methodInfo.Invoke(testListenerInstance, parameters); } }
private TestListener getListenerInstance(TestListenerDescriptor testListenerDescriptor) { TestListener listenerInstance; if (!listenerInstances.TryGetValue(testListenerDescriptor.GetHashCode(), out listenerInstance)) { Assembly listenerAssembly = Assembly.LoadFrom(testListenerDescriptor.Assembly); Type listenerType = listenerAssembly.GetType(testListenerDescriptor.Type); listenerInstance = Activator.CreateInstance(listenerType, testListenerDescriptor.Parameters) as TestListener; listenerInstances.Add(testListenerDescriptor.GetHashCode(), listenerInstance); } return(listenerInstance); }
public TestVerdict TestListeners() { try { var testListeners = new TestListenerCollection(); var parameters = new Dictionary <string, string>(); parameters.Add("Param1", "Value1"); parameters.Add("Param2", "Value2"); var testListener = new TestListenerDescriptor() { Name = "My listener", Description = "My description", Assembly = @"C:\temp\library", OnFailure = OnFailure.Stop, Status = Status.Inactive, Parameters = parameters }; testListeners.Add(testListener); var property = new TestProperty("TestListeners", "description", @"C:\temp", true); TestProperties.AddProperty(property); TestListenerCollection.SerializeToFile(testListeners, @"c:\temp\testlisteners.confg"); var bob = TestListenerCollection.DeserializeFromFile(@"c:\temp\testlisteners.confg"); TestMessage += "Success"; TestVerdict = TestVerdict.Pass; } catch (Exception e) { TestMessage += e.ToString(); TestVerdict = TestVerdict.Error; } finally { } return(TestVerdict); }
private void newFile() { try { DialogResult result = DialogResult.No; if (_changed) { // Prompt to save if currently loaded has changed. result = promptToSave(); } if (result != DialogResult.Cancel) { if (result == DialogResult.Yes) { saveFile(); } // Create new listener collection _testListeners = new TestListenerCollection(); // Create new descriptor, add to collection and initialize tree view. var descriptor = new TestListenerDescriptor() { Name = _newName }; _testListeners.Add(descriptor); displayListenerCollection(_testListeners); markAsUnchanged(); // Override Save button disable this.m_saveBtn.Enabled = true; } } catch (Exception e) { DisplayErrorMessage(e.Message); } }
private void m_addToolStripButton_Click_1(object sender, EventArgs e) { // Create new descriptor var descriptor = new TestListenerDescriptor() { Name = _newName }; // Add to collection _testListeners.Add(descriptor); // Add to tree view. var node = new TreeNode(descriptor.Name); node.Tag = descriptor; m_testListenersTreeView.Nodes[0].Nodes.Add(node); m_testListenersTreeView.SelectedNode = node; // Mark file as dirty. markAsChanged(); }
public void AddListener(TestListenerDescriptor testListener) { _testListeners.Add(testListener); }