cypress - 赛普拉斯:从变量中提取文本和数字
问题描述
我们的预订页面上有一个元素,".ItineraryDate [datetime]:last"
它显示了行程中最后一个航班的日期(例如Tue 7 Jul
)。出于赛普拉斯测试的目的,我需要提取日期(例如7
)和月份(例如Jul
)。
cy.get(".ItineraryDate [datetime]:last").then($span => {
const lastLegDate = $span.text()
})
此代码创建 const Tue 7 Jul
,但我只需要使用日期和月份。你知道我怎么能提取它吗?
解决方案
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');
});
截屏:
推荐阅读
- javascript - 使用 Chrome 扩展在 Google 表格中单击“所有表格”
- c++ - 为什么我的内联函数有链接错误?
- python - 如何遍历 Ansible 中的 JSON 列表,并按单独列表中的值过滤?
- c++ - 为什么取消引用 NULL 与 cout << g_System->FileSystem()->GetFileData("test.txt"); 一起工作 在这个例子中?
- elasticsearch - ElasticSearch Scroll API 连接时间
- excel - excel vba复制和粘贴以修复“#REF”单元格
- spring-boot - 在此 ResultSet 中未找到列名 id
- spring-boot - 在 Spring Boot 中使用 UCANACCESS
- javascript - Redux - 调度在行动中未定义
- laravel - Laravel Gates,如何在 API 路由中使用它们?