Что означает это утверждение: «Cypress команды не возвращают своих субъектов, они возвращают их»?

1

Я узнаю о Cypress.io и наткнулся на это выражение на своем официальном сайте Cypress.io

"Кипарисские команды не возвращают своих подданных, они их дают".

В чем разница между "yield" и "return" в командах в cypress.io?

Теги:
testing
frontend
cypress

2 ответа

2

Я беру доход, чтобы означать "оплатить его", тогда как return = "заплатить".

См. Основные понятия

Команды Cypress являются асинхронными и очереди на выполнение в более позднее время. Во время выполнения темы получаются от одной команды до следующей, и много полезного кода Cypress выполняется между каждой командой, чтобы все было в порядке.

1

Они не синхронно возвращают объекты, как вы ожидали бы, потребуется немного времени, чтобы привыкнуть - но как только вы его получите, вы получите его.

Это не будет работать так, как вы ожидаете, потому что cy.get является асинхронным, поэтому myButton не будет установлен, прежде чем вы .click() на него .click():

var myButton = cy.get(#myButton);
myButton.click(); //Nope!

Команды Cypress предоставляют объекты Chainers, которые выполняют очереди для выполнения действий, поэтому вы будете использовать их следующим образом:

cy.get(#myButton).click(); //Yes!

Или же:

cy.get(#myButton).then(myButton => {
  // do stuff with myButton here
});

Некоторое дополнительное чтение: https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html#Return-Values

Ещё вопросы

Сообщество Overcoder
Наверх
Меню