Значения массива исчезают после выхода из области .then - PullRequest
0 голосов
/ 21 февраля 2019

Значения в моем массиве очищаются после выхода .then scope

в приведенном ниже коде tableValues1.length дает мне правильную длину, пока она не окажется внутри каждого цикла в момент его выхода. Than scope -array length равен нулю.

Пожалуйста, можете ли вы помочь мне в этом -Спасибо

describe('Test setting basic Alert-Data update option', () => {
it('Test SetAlert-Data update', () => {     
  var tableValues1=[];

 cy.contains('browse',{timeout: 60000}).should('be.visible',{ timeout:   60000 });
cy.contains('browse',{timeout: 60000}).click().then(()=>
{
   cy.LoadProject();
})
//create analysis using smart search function and save to story
cy.mthode1(downAxis,acrossAxis,filterAxis);

cy.get('.gradContainer').find('table').as('Table');
cy.get('.gradContainer').find('table').each(($table, index, $list) => {

    var headerLength=$table.find('thead').length;
    var headers=$table.find('thead');

    if ($table.find('thead').length>0)
    {

        cy.log('inside if');
        cy.log($table.find('th').length);
        cy.wrap($table).find('th').each(($header)=>{
          cy.wrap($header).invoke('text').then(($elementvalue)=>{
          //Add values to array
          **tableValues1.push($elementvalue);**
          **cy.log('length INSIDE .then '+tableValues1.length);//---GIVES ME correct count
                   })
        cy.log('length AFTER .then '+tableValues1.length);//--GIVES me zero**


else
{
// add some other set of values

}

})
})

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

cy.log - команда в очереди;это не синхронно, как console.log

Попробуйте использовать Cypress.log вместо:

Cypress.log({ name: 'debug', message: length })
0 голосов
/ 21 февраля 2019

Попробуйте вместо этого:

cy.wrap(null).then(()=>{cy.log(array.length)})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...