赛普拉斯:cy.task() 有多个参数
Cypress: cy.task() with multiple arguments
我在尝试什么: 在 cy.task()
命令中传递多个参数并打印在 plugins/index.js
文件[=14= 中提到的函数中声明的那些参数值]
问题: 函数 print 仅打印第一个参数值,第二个参数未定义
代码:
//test file with cy.task() command
class LoginPage {
let site = abc
let userDetails = xyz
openPage(env, site, userDetails) {
cy.task('loadUserAccountDetails', site, userDetails)
}
}
module.exports = LoginPage
// plugins/index.js file where the event is registered with declared function
const validUserDetails = (site, userDetails) => {
console.log('--->' + site) // This prints abc
console.log('--->' + userDetails) // This prints undefined
}
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
on('task', {
loadUserAccountDetails: validUserDetails
})
}
请帮忙。
这通过在 index.js 文件中注册的任务传递参数来实现。
on('task', {
loadUserAccountDetails(site, userDetails): validUserDetails(site, userDetails)
})
看起来只处理了一个参数。但是您始终可以传入一个 object 并将 vars 作为属性。
on("task", {
async "rename"({var1, var2, var2}) {
}
并在 .spec
中将其称为
cy.task('rename', {var1: 'val1', var2:'val2', var3: 'val3'}, ()=>{
console.log('renamed');
})
我在尝试什么: 在 cy.task()
命令中传递多个参数并打印在 plugins/index.js
文件[=14= 中提到的函数中声明的那些参数值]
问题: 函数 print 仅打印第一个参数值,第二个参数未定义
代码:
//test file with cy.task() command
class LoginPage {
let site = abc
let userDetails = xyz
openPage(env, site, userDetails) {
cy.task('loadUserAccountDetails', site, userDetails)
}
}
module.exports = LoginPage
// plugins/index.js file where the event is registered with declared function
const validUserDetails = (site, userDetails) => {
console.log('--->' + site) // This prints abc
console.log('--->' + userDetails) // This prints undefined
}
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
on('task', {
loadUserAccountDetails: validUserDetails
})
}
请帮忙。
这通过在 index.js 文件中注册的任务传递参数来实现。
on('task', {
loadUserAccountDetails(site, userDetails): validUserDetails(site, userDetails)
})
看起来只处理了一个参数。但是您始终可以传入一个 object 并将 vars 作为属性。
on("task", {
async "rename"({var1, var2, var2}) {
}
并在 .spec
中将其称为
cy.task('rename', {var1: 'val1', var2:'val2', var3: 'val3'}, ()=>{
console.log('renamed');
})