如何在Cypress中编写测试验证标题或内容含FIFA关键词?
在Cypress中编写验证标题/段落含指定关键词的测试用例
要实现「页面标题或段落二者之一包含「FIFA」关键词」的验证,你可以用Cypress的断言逻辑结合元素/文档信息来写测试,以下是具体示例:
基础实现代码
describe('验证页面标题或段落含FIFA关键词', () => { it('检查标题或任意段落是否存在目标关键词', () => { // 替换为你要测试的页面URL cy.visit('/your-page-url'); // 方式1:通过document对象直接判断标题和段落 cy.document().then(doc => { const titleHasFIFA = doc.title.includes('FIFA'); // 这里默认取第一个p标签,如需检查所有段落可改用遍历 const paragraphHasFIFA = doc.querySelector('p')?.textContent.includes('FIFA'); expect(titleHasFIFA || paragraphHasFIFA).to.be.true; }); // 方式2:分别获取标题和段落元素再判断 cy.title().then(pageTitle => { cy.get('p').first().then($paragraph => { expect(pageTitle.includes('FIFA') || $paragraph.text().includes('FIFA')).to.be.true; }); }); }); });
补充说明
- 如果需要检查所有段落中是否有任意一个包含关键词,可以改用遍历逻辑:
cy.title().then(pageTitle => { if (pageTitle.includes('FIFA')) return; cy.get('p').each($p => { if ($p.text().includes('FIFA')) { expect(true).to.be.true; return false; // 找到匹配后终止遍历 } }).then(() => { // 遍历完所有段落都没匹配的话,断言失败 expect(false).to.be.true; }); }); - 若要忽略大小写匹配,可把文本转成小写后判断:
pageTitle.toLowerCase().includes('fifa') - 页面加载较慢时,可给元素添加超时时间:
cy.get('p', { timeout: 10000 })
内容的提问来源于stack exchange,提问作者Jill becker
相关产品推荐
相关产品推荐

