2013-03-18 4 views
1

У меня по-прежнему возникают проблемы с получением результатов из объектов, которые я запрашиваю. В результате запроса все объекты TestCase выгружаются и выводятся на экран. Объекты выглядят так: [object, Object].Запросы на ралли: вытягивание результатов из объектов

Я попытался затем уточнить его печатая document.write(queryResults.testcase.Results + " " + i); но затем печатает это: undefined # (приращения # с индексом)

Моей конечной целью здесь, чтобы быть в состоянии найти тестовые случаи, которые не работают, AKA, не имеют результата. Моя стратегия, предложенная другим плакатом, заключалась в том, чтобы вернуть все тестовые примеры, а затем сортировать для Result.length = 0; (что означает, что результатов нет). Я пробовал document.write(queryResults.testcase.Results.length + " " + i);, но это не сработало, ничего не выводит на экран вообще. Я попробовал аналогичную работу с результатами [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

Я рекомендовал бы запрашивая для всех тестовых случаев, для которых LastVerdict является недействительным, так как LastVerdict только заполняется, если Test Case имеет связанный тестовый пример результатов. В вашем коде это будет выглядеть так:

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

Этот запрос должен возвращать все «незавершенные» тестовые случаи. Затем вы обработаете полученный список в своей функции showResults.

+0

Также - для пояснения - причина, по которой вы не видите сбор результатов в возвращаемых TestCase, заключается в том, что вы не указали, что она будет возвращена через выборку. Чтобы сделать это, вы должны включить предложение fetch в свой запросSpec. 'fetch:" FormattedID, Results, LastVerdict "'. – 2013-03-19 00:32:01

+0

Спасибо за помощь !! –

 Смежные вопросы

  • Нет связанных вопросов^_^