/// <summary> /// Creates new folder path. e.g. if path is passed as Subject\Dummy1\Dummy2\Dummy3 and Only subject folder exists in ALM then this function will create Dummy1, Dummy2 and Dummy3 folders. /// <para/> true if successfull /// </summary> /// <param name="folderPath">folder path</param> /// <returns>true if successfull</returns> public TDAPIOLELib.TestFolder CreateNewFolderPath(String folderPath) { TDAPIOLELib.TreeManager OTManager = tDConnection.TreeManager; String PathChecked = "Subject"; TDAPIOLELib.SysTreeNode oTestFolder = GetNodeObject("subject"); foreach (String Folder in folderPath.Split('\\')) { if (!(Folder.ToUpper() == "SUBJECT")) { try { oTestFolder = GetNodeObject(PathChecked + "\\" + Folder); PathChecked = PathChecked + "\\" + Folder; } catch { oTestFolder = GetNodeObject(PathChecked); oTestFolder.AddNode(Folder); PathChecked = PathChecked + "\\" + Folder; } } } TDAPIOLELib.TestFolder testFolder = GetFolderObject(PathChecked); return(testFolder); }
/// <summary> /// Creats a new test case. /// <para/> returns TDAPIOLELib.Test object /// </summary> /// <param name="testDetails">Dictionary object with the values for each field. Field names must be the data base field names. e.g. TS_NAME = 'Example Test'</param> /// <param name="path">test plan path, test will be created under this folder</param> /// <returns>TDAPIOLELib.Test object</returns> public TDAPIOLELib.Test Create(Dictionary <String, String> testDetails, String path) { TDAPIOLELib.TreeManager OTreeManager = tDConnection.TreeManager; TDAPIOLELib.Test OTest; TDAPIOLELib.TestFactory OTestFactory; var testFolder = OTreeManager.NodeByPath["subject"]; if (path != "") { testFolder = OTreeManager.get_NodeByPath(path); } else { throw (new Exception("Path is required for creating tests")); } //Create test here OTestFactory = testFolder.TestFactory; OTest = OTestFactory.AddItem(System.DBNull.Value); foreach (KeyValuePair <string, string> kvp in testDetails) { OTest[kvp.Key.ToUpper()] = kvp.Value; } OTest.Post(); return(OTest); }
/// <summary> /// Count tests under a test plan folder. /// <para/> returns Count of tests under test folder /// </summary> /// <param name="folderPath">Path of test plan folder. Path should start from "Subject\"</param> /// <returns>Count of tests under test folder</returns> public int CountTestUnderFolder(String folderPath) { TDAPIOLELib.TreeManager OTManager = tDConnection.TreeManager; var OTFolder = OTManager.get_NodeByPath(folderPath); TDAPIOLELib.TestFactory OTFactory = OTFolder.TestFactory; return(OTFactory.NewList("").Count); }
/// <summary> /// Finds all tests recursively under a test folder /// </summary> /// <param name="folderPath"></param> /// <returns></returns> public TDAPIOLELib.List GetTestsRecurcively(String folderPath) { TDAPIOLELib.TreeManager OTManager = tDConnection.TreeManager; TDAPIOLELib.TestFactory OTFactory = tDConnection.TestFactory; TDAPIOLELib.TDFilter tDFilter = OTFactory.Filter; tDFilter["TS_SUBJECT"] = "^\\" + folderPath + "^"; return(OTFactory.NewList(tDFilter.Text)); }
/// <summary> /// Converts folder path string to TDAPIOLELib.SysTreeNode /// <para/> retruns TDAPIOLELib.SysTreeNode object /// </summary> /// <param name="folderPath">test plan folder path</param> /// <returns>TDAPIOLELib.SysTreeNode object</returns> public TDAPIOLELib.SysTreeNode GetNodeObject(String folderPath) { TDAPIOLELib.TreeManager OTManager = tDConnection.TreeManager; return(OTManager.NodeByPath[folderPath]); }