量角器承诺 return 字符串与值进行比较
Protractor promise return string to compare with value
我正在使用量角器测试 AngularJS 网站。我需要一些量角器函数来 return promise 的值以正确的方式继续我的代码。
特别是,我需要从输入中获取值并将其与某个常量进行比较。这样试过:
var p1 = new Promise(function (resolve, reject) {
if (element(by.id('policyNumber')).getAttribute('value') == parameter.getJinyDotazParams().attributes.policyNumber) {
resolve("Success");
} else {
reject("Error");
}
});
p1.then(function (value) {
console.log(value + 'yaaay'); // Success!
}, function (reason) {
console.log(reason + 'Q_Q'); // Error!
});
例如,使用布尔值 return 一切正常:
var p1 = new Promise(function (resolve, reject) {
if (element(by.id('policyNumber')).isDisplayed()) {
resolve("Success");
} else {
reject("Error");
}
//resolve("Success!");
// or
//reject("Error!");
});
p1.then(function (value) {
console.log(value + 'yaaay'); // Success!
}, function (reason) {
console.log(reason + 'Q_Q'); // Error!
});
如果您使用的是 Jasmine 框架,那么您可以使用 expect() 方法来验证 promise 的输出。例如,
var displayedValue =element(by.id('policyNumber')).getAttribute('value')
var actualValue = parameter.getJinyDotazParams().attributes.policyNumber
expect(displayedValue).toEqual(actualValue)
没想到,原来这么简单..
element(by.id('policyNumber')).getAttribute('value').then(function (val) {
if (val == parameter.getJinyDotazParams().attributes.policyNumber) {
console.log('YAAAAY!');
}
})
我正在使用量角器测试 AngularJS 网站。我需要一些量角器函数来 return promise 的值以正确的方式继续我的代码。
特别是,我需要从输入中获取值并将其与某个常量进行比较。这样试过:
var p1 = new Promise(function (resolve, reject) {
if (element(by.id('policyNumber')).getAttribute('value') == parameter.getJinyDotazParams().attributes.policyNumber) {
resolve("Success");
} else {
reject("Error");
}
});
p1.then(function (value) {
console.log(value + 'yaaay'); // Success!
}, function (reason) {
console.log(reason + 'Q_Q'); // Error!
});
例如,使用布尔值 return 一切正常:
var p1 = new Promise(function (resolve, reject) {
if (element(by.id('policyNumber')).isDisplayed()) {
resolve("Success");
} else {
reject("Error");
}
//resolve("Success!");
// or
//reject("Error!");
});
p1.then(function (value) {
console.log(value + 'yaaay'); // Success!
}, function (reason) {
console.log(reason + 'Q_Q'); // Error!
});
如果您使用的是 Jasmine 框架,那么您可以使用 expect() 方法来验证 promise 的输出。例如,
var displayedValue =element(by.id('policyNumber')).getAttribute('value')
var actualValue = parameter.getJinyDotazParams().attributes.policyNumber
expect(displayedValue).toEqual(actualValue)
没想到,原来这么简单..
element(by.id('policyNumber')).getAttribute('value').then(function (val) {
if (val == parameter.getJinyDotazParams().attributes.policyNumber) {
console.log('YAAAAY!');
}
})