拉力查询:从对象中拉取结果

时间:2013-03-18 19:54:23

标签: object rally testcase

我仍然无法从我查询的对象中提取结果。 下面的查询将拉出所有TestCase对象并将其打印到屏幕。对象如下所示:[object, Object]

我尝试通过打印document.write( queryResults.testcase.Results + " " + i);来优化它,但然后打印出来:undefined #(带索引的#increment)

我的最终目标是能够找到尚未运行的测试用例,AKA,没有结果。正如另一张海报所建议的那样,我的策略是返回所有测试用例,然后对Result.length = 0进行排序; (意思是没有结果)。  我尝试了document.write( queryResults.testcase.Results.length + " " + i);但是没有用,根本没有打印到屏幕上。我在Results [i]中尝试了类似的东西,认为它是一个对象数组。 我试着玩'fetch',但是当我把它留空时它似乎只返回一些东西(默认为true,返回所有字段)。

function runMainQuery(rallyDataSource) {
        document.getElementById("TestCaseInfo").innerHTML = "";
        busySpinner = new rally.sdk.ui.basic.Wait({hideTarget: false});
        busySpinner.display('spinner');
        var daySpan = numOfDays; // how many days back from today for TestCaseResult inclusion

        var dateBoundingClause = '(Date >= "' + previousDate(daySpan) + '")';

       // ORIGINAL VALUE ------  var dateBoundingClause = '(Date >= "' + previousDate(daySpan) + '")';

        querySpec = {
            key   : "testcase",
            type  : "testcase"
            //query: dateBoundingClause
        };
        rallyDataSource.findAll(querySpec, showResults);
    }//end runMainQuery


    function showResults(queryResults) {
        busySpinner.hide();
        //console.log("Number of test cases returned by the Test Case/Test Case Results query: " +
        //             queryResults.testcase.length);

        totalNumTestCases = queryResults.testcase.length;

        if (queryResults.testcase.length === 0) {
            var message = "Enter the date range (Oldest to Newest). Click UPDATE, and wait for the test cases to populate. Once test cases appear, click GENERATE REPORT.";
            document.getElementById("TestCaseInfo").innerHTML = message;

            return;
        }

        for (var i = 0; i < queryResults.testcase.length; i++) {
        document.write( queryResults.testcase + " " + i);
        document.write("<br/>");
        }

任何想法都将不胜感激!

P.S。堆栈溢出我很新。我假设有一种方法可以将这篇文章与我以前的帖子联系起来,但我不知道该怎么做。请告知我相关帖子的正确发布礼仪。

由于

1 个答案:

答案 0 :(得分:0)

我建议查询LastVerdict为null的所有测试用例,因为只有在测试用例具有关联的测试用例结果时才会填充LastVerdict。在您的代码中,这将是:

    var queryClause = "(LastVerdict = \"\")";
    querySpec = {
        key   : "testcase",
        type  : "testcase",
        query: queryClause
    };

此查询应返回所有&#34;尚未运行&#34;测试用例。然后,您将在showResults函数中处理结果列表。