我们在预订页面".ItineraryDate [datetime]:last"
上有一个元素,该元素显示了行程中最后一次飞行的日期(例如Tue 7 Jul
)。出于赛普拉斯测试的目的,我需要提取日期(例如7
)和月份(例如Jul
)。
cy.get(".ItineraryDate [datetime]:last").then($span => {
const lastLegDate = $span.text()
})
此代码创建const Tue 7 Jul
,但是我只需要使用日期和月份。你知道我怎么提取吗?
答案 0 :(得分:1)
Cypress自动包含moment.js并将其公开为Cypress.moment。
您可以使用Cypress.moment
随时提取月份和日期。
标记:
<div class="date">Tue 7 Jul</div>
测试:
cy.get('.date').then(($el) => {
cy.log('original: ' + $el.text());
const dateString = Cypress.moment($el.text(), 'ddd D MMM')
const month = Cypress.moment(dateString, 'ddd D MMM').format('MMMM');
const day = Cypress.moment(dateString, 'ddd D MMM').format('D');
cy.log(`After formatting month = ${month}`);
cy.log(`After formatting day = ${day}`);
expect(month).to.equal('July');
expect(day).to.equal('7');
});
屏幕截图: