If else 条件在赛普拉斯
If else condition in Cypress
.grid > languagefield
是 UI 下拉列表的元素
取决于在此语言字段中选择的语言,它会做一些事情
这是我的,但 Cypress 没有达到 if
条件,if (Lang == 'American English')
不对
const Date = Cypress.moment().add(-3, 'days').format('YYYY-MM-DD');
const DateUS = Cypress.moment(Date).format('MM/DD');
const DateUK = Cypress.moment(Date).format('DD/MM');
const Lang = '.grid > languagefield'
if (Lang == 'American English') {
//should get DateUS format
} else {
//should get DateUK format
}
非常感谢!
cy.get('.grid > :nth-child(7)').invoke('text').then((txt) => { cy.log(txt) })
的结果
更多信息
你可以这样写:
cy.get('.grid > languagefield').invoke('text').then((txt) => {
if (txt.trim() == 'American English') {
//Do Something
} else {
//Do Something
}
})
或者,如果你想使用 each() 循环遍历下拉列表的元素,然后找到文本并执行一些操作,你可以这样做:
cy.get('selctor').each(($el) => {
if ($el.text().trim() == 'American English') {
//Do Something
} else {
//Do Something
}
})
如果个人资料部分可见,这将为您提供下拉菜单的文本,
const language = Cypress.$('div[name="language"]') // parent div for language selector
.children().first() // first child is selected text
.text()
console.log(language); // American English
赛普拉斯别名的等价物
const languageDateFormats = {
'American English': DateUS,
'British English': DateUK,
// other langauges
}
cy.visit('/profile');
cy.get('div[name="language"]') // parent div for language selector
.children().first() // first child is selected text
.invoke('text')
.as('language')
cy.visit('/timeline');
cy.get('@language').then(language => {
const dateFormat = languageDateFormats[language];
// test the timeline date format
})
.grid > languagefield
是 UI 下拉列表的元素
取决于在此语言字段中选择的语言,它会做一些事情
这是我的,但 Cypress 没有达到 if
条件,if (Lang == 'American English')
const Date = Cypress.moment().add(-3, 'days').format('YYYY-MM-DD');
const DateUS = Cypress.moment(Date).format('MM/DD');
const DateUK = Cypress.moment(Date).format('DD/MM');
const Lang = '.grid > languagefield'
if (Lang == 'American English') {
//should get DateUS format
} else {
//should get DateUK format
}
非常感谢!
cy.get('.grid > :nth-child(7)').invoke('text').then((txt) => { cy.log(txt) })
的结果
更多信息
你可以这样写:
cy.get('.grid > languagefield').invoke('text').then((txt) => {
if (txt.trim() == 'American English') {
//Do Something
} else {
//Do Something
}
})
或者,如果你想使用 each() 循环遍历下拉列表的元素,然后找到文本并执行一些操作,你可以这样做:
cy.get('selctor').each(($el) => {
if ($el.text().trim() == 'American English') {
//Do Something
} else {
//Do Something
}
})
如果个人资料部分可见,这将为您提供下拉菜单的文本,
const language = Cypress.$('div[name="language"]') // parent div for language selector
.children().first() // first child is selected text
.text()
console.log(language); // American English
赛普拉斯别名的等价物
const languageDateFormats = {
'American English': DateUS,
'British English': DateUK,
// other langauges
}
cy.visit('/profile');
cy.get('div[name="language"]') // parent div for language selector
.children().first() // first child is selected text
.invoke('text')
.as('language')
cy.visit('/timeline');
cy.get('@language').then(language => {
const dateFormat = languageDateFormats[language];
// test the timeline date format
})