Да, в Cypress можно получить значение элемента и использовать его в следующем вызове get. Для этого можно использовать функцию .then(), которая позволяет получить значение элемента и передать его в следующий вызов get.
Например, если нужно сложить значения всех элементов таблицы, можно использовать следующий код:
let sum = 0;
cy.get('table tr td')
.each(($td) => {
cy.wrap($td).invoke('text').then((text) => {
sum += parseInt(text);
});
})
.then(() => {
cy.get('#total').should('have.text', sum.toString());
});
В этом коде мы используем .each() для перебора всех элементов таблицы, затем для каждого элемента мы вызываем .invoke('text') чтобы получить текстовое значение элемента. Затем мы используем .then() чтобы сложить все значения элементов и передать их в вызов get('#total'), который проверяет, что итоговое значение суммы равно значению элемента с id="total".
Обратите внимание, что .then() выполняется после того, как все значения элементов были получены, поэтому это решение может быть не очень эффективным для больших таблиц. Если таблица очень большая, то лучше использовать цикл и сохранять значения элементов в массив, а затем использовать этот массив для сравнения с другим элементом.