HP QC OTA API는 지정된 TestSetFolder에서 TestSets 목록을 반환하는 두 가지 방법을 제공합니다. 그러나 두 방법 모두 재귀 적이며 모든 단일 하위 폴더에 대한 모든 테스트 집합을 계층 구조 아래로 더 반환합니다. 나는 주어진 테스트 세트 폴더의 즉각적인 자식 테스트 세트를 반환 할 수 있기를 원한다. Command 개체를 사용하여 매우 간단한 SQL 쿼리를 사용하여이 작업을 수행 할 수 있다는 것을 알았지 만,이 시나리오에서는 QC 권한이 필요하기 때문에 옵션이 아닙니다.Quality Center OTA API : TestSetFolder에서 하위 TestSets의 첫 번째 수준 만 반환하십시오.
아래의 C# 코드 샘플을 살펴보십시오. 표준 QC 샘플 프로젝트를 사용하여 문제를 설명합니다. "Root \ Mercury Tours Web Site \ Functionality And UI"의 폴더 경로를 사용하면 세 개의 테스트 세트가 모든 경우에 올바르게 반환됩니다. 그러나 "루트 \ 머큐리 투어 웹 사이트"경로를 지정하면 샘플에 각각 3 개와 2 개의 테스트 세트가 포함 된 2 개의 하위 폴더가 있으므로 5 개의 테스트 세트가 반환됩니다. 이 경우 SQL은 테스트 세트를 올바르게 반환하지 않습니다.
// where 'tdc' is a valid TDConnection object logged in to DEFAULT.QualityCenter_Demo
// string testSetFolderPath = @"Root\Mercury Tours Web Site"; // 0 test sets (Method 1 and 2 return 5)
string testSetFolderPath = @"Root\Mercury Tours Web Site\Functionality And UI"; // 3 test sets
// Method 1: TestSetFolder.FindTestSets()
var testSetTreeManager = (TestSetTreeManager)tdc.TestSetTreeManager;
var testSetFolder = (TestSetFolder)testSetTreeManager.get_NodeByPath(testSetFolderPath);
var testSets = testSetFolder.FindTestSets("", false, "");
Console.WriteLine("Folder {0} contains {1} testsets", testSetFolderPath, testSets.Count);
// Method 2: NewList() with filter
var testSetFactory = (TestSetFactory)tdc.TestSetFactory;
var filter = (TDFilter)testSetFactory.Filter;
filter["CY_FOLDER_ID"] = "^" + testSetFolderPath + "^";
testSets = (List)testSetFactory.NewList(filter.Text);
Console.WriteLine("Folder {0} contains {1} testsets", testSetFolderPath, testSets.Count);
// Method 3: SQL Query using Command object
var command = tdc.Command;
command.CommandText = "select CY_CYCLE as TestSet from CYCLE where CY_FOLDER_ID = " + testSetFolder.NodeID;
Recordset records = command.Execute();
Console.WriteLine("Folder {0} contains {1} testsets", testSetFolderPath, records.RecordCount);
반환 된 테스트 세트를 반복하여 TestSetFolder 경로 속성이 현재 폴더와 일치하는지 확인할 수 있습니다. 그러나 이로 인해 큰 성능 오버 헤드가 발생합니다. 특히 대규모 QC 프로젝트 및/또는 느린 네트워크 연결의 경우.
QC 웹 UI와 QCExplorer 도구는 테스트 세트 트리에서 노드를 확장하면서 점진적으로 테스트 세트를로드하므로 QC를 수행하는 방법이 있어야합니다.
아이디어가 있으십니까? 감사!
솔루션을 시도했지만 _'Root \ Sandbox '오류가 유효한 정수 값이 아닙니다 ._ 솔루션에 누락 된 것이 있습니까? – Harrison