如何从承诺中获取值并将其存储在变量中以供进一步使用
How to get a value from a promise and store it in a variable for further use
如何从承诺中获取值并将其存储在变量中以供进一步使用。
我希望我的方法 return 密码作为字符串而不是已解析的承诺对象。我需要密码字符串,以便我可以将它传递给下面给出的 httpAuth 函数。 httpAuth() 来自 TestCafe 自动化框架
Test.js代码:
let mypass=Utils.returnPwd(); //I am using returnPwd() from Utils.js file that's returning a password.
fixture`Automated Test1`
.meta('fixturepack', 'regression')
.page("http://intranetURL")
.beforeEach(async t => {
DriverManager.setDriver(t);
await DriverManager.maximize();
})
.httpAuth({
username: 'loginuser1',
password: mypass
})
Utils.js代码:
async base64Decoding(encodedPassword) {
var decodedData = Buffer.from(encodedPassword, 'base64').toString('ascii');
var decodedPassword = decodedData.toString()
console.log(decodedPassword);
return decodedPassword;
}
async returnPwd(){
let mypass2= this.base64Decoding('A2dIOEhBfXYvfSNba');
return mypass2.then(function(){ })
}
当前错误:
credentials.password 应该是字符串,但它是对象。
.httpAuth({
username: 'loginuser1',
password: mypass
})
我在Untils.js中没有看到任何async
代码,你可以让它同步
//Test.js
let mypass = Utils.returnPwd();
//Utils.js
base64Decoding(encodedPassword) {
var decodedData = Buffer.from(encodedPassword, 'base64').toString('ascii');
var decodedPassword = decodedData.toString()
console.log(decodedPassword);
return decodedPassword;
}
returnPwd(){
let mypass2= this.base64Decoding('A2dIOEhBfXYvfSNba');
return mypass2;
}
如何从承诺中获取值并将其存储在变量中以供进一步使用。
我希望我的方法 return 密码作为字符串而不是已解析的承诺对象。我需要密码字符串,以便我可以将它传递给下面给出的 httpAuth 函数。 httpAuth() 来自 TestCafe 自动化框架
Test.js代码:
let mypass=Utils.returnPwd(); //I am using returnPwd() from Utils.js file that's returning a password.
fixture`Automated Test1`
.meta('fixturepack', 'regression')
.page("http://intranetURL")
.beforeEach(async t => {
DriverManager.setDriver(t);
await DriverManager.maximize();
})
.httpAuth({
username: 'loginuser1',
password: mypass
})
Utils.js代码:
async base64Decoding(encodedPassword) {
var decodedData = Buffer.from(encodedPassword, 'base64').toString('ascii');
var decodedPassword = decodedData.toString()
console.log(decodedPassword);
return decodedPassword;
}
async returnPwd(){
let mypass2= this.base64Decoding('A2dIOEhBfXYvfSNba');
return mypass2.then(function(){ })
}
当前错误: credentials.password 应该是字符串,但它是对象。
.httpAuth({ username: 'loginuser1', password: mypass })
我在Untils.js中没有看到任何async
代码,你可以让它同步
//Test.js
let mypass = Utils.returnPwd();
//Utils.js
base64Decoding(encodedPassword) {
var decodedData = Buffer.from(encodedPassword, 'base64').toString('ascii');
var decodedPassword = decodedData.toString()
console.log(decodedPassword);
return decodedPassword;
}
returnPwd(){
let mypass2= this.base64Decoding('A2dIOEhBfXYvfSNba');
return mypass2;
}