Java 查询TestSet Json在Rally Rest API中返回错误的测试用例列表

Java 查询TestSet Json在Rally Rest API中返回错误的测试用例列表,java,rally,Java,Rally,当我请求“TestSet”查询以获取特定测试集中的测试用例时。 但是,获取的测试用例包含项目中不在特定测试集中的测试用例的完整列表 QueryRequest queryTestSet = new QueryRequest("TestSet"); queryTestSet.setFetch(new Fetch("Name", "Project", "TestCases")); queryTestSet.setQueryFilter(new QueryFilter("name", "=", "Te

当我请求“TestSet”查询以获取特定测试集中的测试用例时。 但是,获取的测试用例包含项目中不在特定测试集中的测试用例的完整列表

QueryRequest queryTestSet = new QueryRequest("TestSet");

queryTestSet.setFetch(new Fetch("Name", "Project", "TestCases"));
queryTestSet.setQueryFilter(new QueryFilter("name", "=", "TestSet_Name"));

QueryResponse responseTestSet =  RallyRestAPI.getAPI().query(queryTestSet);
JsonArray testcasesJson = responseTestSet.getResults().get(0).getAsJsonObject().getAsJsonArray("TestCases");
例如,项目中总共有500个测试用例 我在一个测试集中添加了测试用例和“自动化”测试用例的结果(300个测试用例) 然后,我请求上面的查询,“testcasesJson”的大小返回500,它包括测试用例的完整列表

如何读取只添加到测试集中的测试用例


Rally Rest JAR版本:Rally-Rest-api-1.0.7.JAR

此使用2.0.4 JAR的代码示例仅返回与测试集关联的测试用例:

public class GetTCofTS {

    public static void main(String[] args) throws Exception {

        String host = "https://rally1.rallydev.com";

        String username = "user@co.com";
        String password = "secret";

        String applicationName = "RESTExampleFindTestCasesOfTestSet";
        String workspaceRef = "/workspace/1111";
        String projectRef = "/project/2222";
        String wsapiVersion = "1.43";


        RallyRestApi restApi = null;
        try {
            restApi = new RallyRestApi(
                    new URI(host),
                    username,
                    password);
            restApi.setApplicationName(applicationName); 

            QueryRequest testSetRequest = new QueryRequest("TestSet");
            testSetRequest.setWorkspace(workspaceRef);
            restApi.setWsapiVersion(wsapiVersion);
            testSetRequest.setFetch(new Fetch(new String[] {"Name", "TestCases", "FormattedID"}));

            testSetRequest.setQueryFilter(new QueryFilter("Name", "=", "someTS"));

            QueryResponse testSetQueryResponse = restApi.query(testSetRequest);
            System.out.println("Successful: " + testSetQueryResponse.wasSuccessful());
            System.out.println("Size: " + testSetQueryResponse.getTotalResultCount());
            for (int i=0; i<testSetQueryResponse.getResults().size();i++){
                JsonObject testSetJsonObject = testSetQueryResponse.getResults().get(i).getAsJsonObject();
                System.out.println("Name: " + testSetJsonObject.get("Name") + " ref: " + testSetJsonObject.get("_ref").getAsString() + " Test Cases: " + testSetJsonObject.get("TestCases"));
                int numberOfTestCases = testSetJsonObject.get("TestCases").getAsJsonArray().size();
                System.out.println(numberOfTestCases);
                if(numberOfTestCases>0){
                      for (int j=0;j<numberOfTestCases;j++){
                      System.out.println(testSetJsonObject.get("TestCases").getAsJsonArray().get(j).getAsJsonObject().get("FormattedID"));
                     }
                }

            }

        } finally {
            if (restApi != null) {
                restApi.close();
            }
        }
    }
}
公共类GetTCofTS{
公共静态void main(字符串[]args)引发异常{
字符串主机=”https://rally1.rallydev.com";
字符串用户名=”user@co.com";
字符串password=“secret”;
字符串applicationName=“restexamplefindtestcasesofestset”;
字符串workspaceRef=“/workspace/1111”;
字符串projectRef=“/project/2222”;
字符串wsapiVersion=“1.43”;
RallyRestApi restApi=null;
试一试{
restApi=新的RallyRestApi(
新URI(主机),
用户名,
密码);
restApi.setApplicationName(applicationName);
QueryRequest testSetRequest=新的QueryRequest(“测试集”);
testSetRequest.setWorkspace(workspaceRef);
restApi.setWsapiVersion(wsapiVersion);
setFetch(新的Fetch(新字符串[]{“Name”,“TestCases”,“FormattedID”});
setQueryFilter(新的QueryFilter(“Name”,“=”,“someTS”));
QueryResponse testSetQueryResponse=restApi.query(testSetRequest);
System.out.println(“成功:“+testSetQueryResponse.wasSuccessful());
System.out.println(“大小:“+testSetQueryResponse.getTotalResultCount());
对于(int i=0;i0){

for(int j=0;jt感谢您的响应。因此,不可能在1.0.7上获得与测试集相关联的测试用例,对吗?我测试了最新的jar 2.0.4和1.0.7,两个版本都使用相同的代码。