从.then范围退出后,数组值消失

时间:2019-02-21 04:29:28

标签: javascript cypress

退出.then范围后,我数组上的值将被清除

以下代码中的

tableValues1.length给我正确的长度,直到它在每个循环内 它退出的那一刻,那么scope -array的长度为零。

在这方面,任何人都可以帮助我-谢谢

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 :(得分:1)

self.textView.tintColor = .red 是已排队的命令;它不像cy.log

那样同步

尝试改用console.log

Cypress.log

答案 1 :(得分:0)

尝试以下方法:

cy.wrap(null).then(()=>{cy.log(array.length)})