1

我想在 getText() 函数之外保留变量,以便我可以将它与测试中的值匹配。例子:

页面对象文件:

this.numberOfAllLines = element(by.id('all_lines'));
this.tableCell = element(by.css('.table_results_lines'));
this.sumOfAllLinesText = element(by.id('sum_lines'));

规格文件:

var numberOfLines = '';
var newNumberOfLines = '';

describe(...
    it(...
        page.numberOfAllLines.getText().then(function(num) {
            numberOfLines = num;
        });

        newNumberOfLines = numberOfLines + 10;

        expect(page.tableCell.getText()).toEqual(newNumberOfLines);

        // doing some clicks

        expect(page.sumOfAllLinesText.getText()).toEqual(newNumberOfLines);
    });
});

如何从异步调用返回响应?.

4

1 回答 1

1

这段代码newNumberOfLines = numberOfLines + 10是异步的,甚至会在分配numberOfLines = num;发生之前执行。

你在做什么是正确的。有一个保存要比较的值的全局变量。但是在getText().

it(...
        page.numberOfAllLines.getText().then(function(num) {
            numberOfLines = num;
            newNumberOfLines = numberOfLines + 10;
        });  

        expect(page.tableCell.getText()).toEqual(newNumberOfLines);
于 2017-03-08T08:34:47.080 回答