我仍然无法从我查询的对象中提取结果。
下面的查询将拉出所有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。堆栈溢出我很新。我假设有一种方法可以将这篇文章与我以前的帖子联系起来,但我不知道该怎么做。请告知我相关帖子的正确发布礼仪。
由于
答案 0 :(得分:0)
我建议查询LastVerdict为null的所有测试用例,因为只有在测试用例具有关联的测试用例结果时才会填充LastVerdict。在您的代码中,这将是:
var queryClause = "(LastVerdict = \"\")";
querySpec = {
key : "testcase",
type : "testcase",
query: queryClause
};
此查询应返回所有&#34;尚未运行&#34;测试用例。然后,您将在showResults
函数中处理结果列表。