我的页面上有这部分html
<h4 class="text-right numberOfRecords">Total: {{vm.numberOfRecords}}</h4>
我试图在一次测试中将其分配给变量,以便在不每次都解决承诺的情况下使用它。目前,我这样分配它...
totalComplaints = element(by.css('.numberOfRecords')).getText().then(function(text) {
return parseInt(text.split(':')[1].trim());
});
...但是每次我要像这样访问变量时,我都必须解决一个诺言
totalComplaints.then(function(total) {
console.log('totalComplaints = ', total);
});
如何分配变量以仅使用类似的内容?
console.log('totalComplaints = ', totalComplaints);
答案 0 :(得分:0)
例如,您可以在浏览器参数中添加值:
element(by.css('.numberOfRecords')).getText().then(function(text) {
browser.params.totalComplaints = parseInt(text.split(':')[1].trim());
});
然后调用作为字符串的值:
browser.params.totalComplaints
您可以考虑将parseInt更改为正则表达式:
text.match(/\d+/)[0];
答案 1 :(得分:0)
量角器conf.js
exports.config = {
SELENIUM_PROMISE_MANAGER: false,
specs: ['spec.js']
};
茉莉花spec.js
describe('', ()=>{
let totalComplaints;
it('case 1', async ()=>{
totalComplaints = await element(by.css('.numberOfRecords')).getText();
totalComplaints = totalComplaints.split(':')[1].trim();
console.log('in case 1: totalComplaints = ', totalComplaints);
});
it('case 2', async ()=>{
console.log('in case 2: totalComplaints = ', totalComplaints);
});
});