赛普拉斯断言是数组中的一个词
Cypress assert is a word inside an array
我需要你的帮助。我试图用柏树断言数组中存在一个词。有一个包含音乐类别名称的数组,我应该断言结果的标题包含在该类别中。但在 运行 之后,我收到了这个柏树错误:“断言预期 [Array(1)] 包含流行音乐”。我真的找不到这里的问题是什么。提前谢谢你
const allMusicTypes = []
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.invoke('text')
.then((text) => allMusicTypes.push(text.trim()))
.then(() => {
cy.get(selectors.results)
.find('button')
.click()
cy.get('.infobox')
.find('dd')
.first()
.invoke('text')
.then((categoryType) => {
const resultMusicType = categoryType.split(',')[0]
expect(allMusicTypes).to.include(resultMusicType.trim())
})
因为.find(selectors.CategoryList + '> a')
找到多个元素,.invoke('text')
returns所有元素的所有文本在一个长字符串中。
要从中获取数组,获取单个元素的文本
const allMusicTypes = []
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.each($el => allMusicTypes.push($el.text().trim()))
.then(() => {
... // test the category type
expect(allMusicTypes).to.include(resultMusicType.trim()) // array includes
})
或将allMusicTypes
视为字符串而不是数组
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.invoke('text')
.then((text) => text.trim())
.then((allMusicTypes) => {
... // test the category type
expect(allMusicTypes).to.include(resultMusicType.trim()) // string includes
})
我需要你的帮助。我试图用柏树断言数组中存在一个词。有一个包含音乐类别名称的数组,我应该断言结果的标题包含在该类别中。但在 运行 之后,我收到了这个柏树错误:“断言预期 [Array(1)] 包含流行音乐”。我真的找不到这里的问题是什么。提前谢谢你
const allMusicTypes = []
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.invoke('text')
.then((text) => allMusicTypes.push(text.trim()))
.then(() => {
cy.get(selectors.results)
.find('button')
.click()
cy.get('.infobox')
.find('dd')
.first()
.invoke('text')
.then((categoryType) => {
const resultMusicType = categoryType.split(',')[0]
expect(allMusicTypes).to.include(resultMusicType.trim())
})
因为.find(selectors.CategoryList + '> a')
找到多个元素,.invoke('text')
returns所有元素的所有文本在一个长字符串中。
要从中获取数组,获取单个元素的文本
const allMusicTypes = []
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.each($el => allMusicTypes.push($el.text().trim()))
.then(() => {
... // test the category type
expect(allMusicTypes).to.include(resultMusicType.trim()) // array includes
})
或将allMusicTypes
视为字符串而不是数组
cy.get('.musicCategories')
.find(selectors.CategoryList + '> a')
.invoke('text')
.then((text) => text.trim())
.then((allMusicTypes) => {
... // test the category type
expect(allMusicTypes).to.include(resultMusicType.trim()) // string includes
})