Size: a a a

2019 December 24

m

mkots in JS for testing
Oleksandr Khotemskyi
а что у тебя за приложение на фронте? Если какой то Single Page application - то можешь и не пробовать - недостаточно будет. + селениум уже сам автоматом ждет document.readyState и не будет выполнять команды пока он не переключился
Можно ждать ответа от запроса еще
источник

m

mkots in JS for testing
Но если роуты на страницах разные, то тоже преопределять придется
источник

OK

Oleksandr Khotemskyi in JS for testing
Slava Kharchenko
пьечаль
источник

OK

Oleksandr Khotemskyi in JS for testing
Slava Kharchenko
пьечаль
источник

SK

Slava Kharchenko in JS for testing
спасибо
источник

SK

Slava Kharchenko in JS for testing
норм статейки, баранцев красава)
источник

N

Noname in JS for testing
Ребят, не могу понять доку :( объясните, пожалуйста, на палтцах,  нубу что делает cy.wrap  в сайпрессе?
источник

AV

Alex Vershinin in JS for testing
Noname
Ребят, не могу понять доку :( объясните, пожалуйста, на палтцах,  нубу что делает cy.wrap  в сайпрессе?
Насколько я понимаю его можно использовать для того, чтобы в кастомной команде вернуть что-то.
источник

N

Noname in JS for testing
Alex Vershinin
Насколько я понимаю его можно использовать для того, чтобы в кастомной команде вернуть что-то.
То есть при написании кастомной команды использование wrap обязательно?
источник

AV

Alex Vershinin in JS for testing
Noname
То есть при написании кастомной команды использование wrap обязательно?
"можно", но не "нужно"
источник

m

mkots in JS for testing
JQuery<HTMLElement> → Cypress.Chainable<any>
источник

N

Noname in JS for testing
Alex Vershinin
"можно", но не "нужно"
Для чего именно тогда можно? Что он делает?
источник

m

mkots in JS for testing
Noname
Для чего именно тогда можно? Что он делает?
Превращает все что ты в него передал в Cypress.Chainable<any>
источник

N

Noname in JS for testing
mkots
Превращает все что ты в него передал в Cypress.Chainable<any>
Спасибо!
источник

AV

Alex Vershinin in JS for testing
mkots
Превращает все что ты в него передал в Cypress.Chainable<any>
Коротко и по сути)
источник

OK

Oleksandr Khotemskyi in JS for testing
mkots
Превращает все что ты в него передал в Cypress.Chainable<any>
вообще не понимаю зачем они это сделали. Почему не сделать просто все команды async? Какие то чейнабл стримо-промисы…
наверное я слишком стар
источник

AV

Alex Vershinin in JS for testing
Oleksandr Khotemskyi
вообще не понимаю зачем они это сделали. Почему не сделать просто все команды async? Какие то чейнабл стримо-промисы…
наверное я слишком стар
чтобы не писать await await await await :) вроде они в доке где-то пишут почему так сделали))
источник

OK

Oleksandr Khotemskyi in JS for testing
Alex Vershinin
чтобы не писать await await await await :) вроде они в доке где-то пишут почему так сделали))
зато теперь надо писать .then и совершенно непонятно когда
источник

AV

Alex Vershinin in JS for testing
мне понятно)
источник

OK

Oleksandr Khotemskyi in JS for testing
Alex Vershinin
мне понятно)
it('should edit a new item', () => {
 cy.get('[data-testid=newItem]')
   .click()
 cy.get('[data-testid=idField]')
   .should($idField => {
     const id = Number($idField.text())
     expect(id).to.be.greaterThan(0) // wait for server id
   })
   .then($idField => Number($idField.text()))
   .then(id => {
     cy
       .get(`[data-testid="items-${id}"]`)
       .find('[data-testid=edit]')
       .click()
       .should('have.class', 'active')
   })
})
источник