Cypress получить длину элемента возвращает двойной - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь проверить вставку элемента и проверить длину найденных элементов до и после операции добавления.Вот элемент

<metadata class="chartbase" issubtitle="false" iscontent="true" graphictype="icon" name="barSimpleRectangle">
<metadata class="chartitem" index="0" name="" value="25"></metadata>
<metadata class="chartitem" index="1" name="" value="30"></metadata>
<metadata class="chartitem" name="" index="2" value="36"></metadata>

Я пытаюсь получить данные диаграммы перед добавлением, увеличить ее на 1, а затем вызвать дополнение, которое вставляет элемент диаграммы.Теперь я сравниваю размер с более ранним размером, используя указанный код

cy.get('.chartitem').its('length').then((size)=>{        
    cy.log("chart items length is ",size);
    size++;
    cy.log("totalChartItems is ",size);
    cy.get('.insertNewChartItem').eq(0).click({force:true});
    cy.wait(2000);
    cy.get('.chartitem').its('length').then((newsize)=>{
        cy.log("new chart items length is ",newsize);
    })
})

Размер, возвращаемый здесь, равен 3, но newsize возвращает меня 8. Это ошибка кипариса?

1 Ответ

0 голосов
/ 26 мая 2019

Невозможно воспроизвести.Вы уверены, что в вашем элементе нет ошибки?Кроме того, я не уверен, почему вы увеличиваете размер вручную (в чем разница между items length и totalChartItems?).

cy.document().then( doc => {
    doc.body.innerHTML = `
        <metadata class="chartbase" issubtitle="false" iscontent="true" graphictype="icon" name="barSimpleRectangle">
        <metadata class="chartitem" index="0" name="" value="25"></metadata>
        <metadata class="chartitem" index="1" name="" value="30"></metadata>
        <metadata class="chartitem" name="" index="2" value="36"></metadata>
    `;
});
cy.get(`.chartitem`).its(`length`).then((size) => {
    expect(size).to.eq(3);
    cy.document().then( doc => {
        doc.body.innerHTML = doc.body.innerHTML +
            `<metadata class="chartitem" name="" index="3" value="37"></metadata>`;
    });
    cy.get(`.chartitem`).its(`length`).then((newsize) => {
        expect(newsize).to.eq(4);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...