我期望protractor找到value_key(翻译)并返回true,以便测试成功。
在我的test-spec.js文件中我
Set rng = Sheets("Sheetname").Range(Tempcol & Srow & ":" & Tempcol & Frow)
i = 0
ReDim ary(0)
For Each cell In rng
ary(i) = cell.Value
i = i + 1
ReDim Preserve ary(i)
Next cell
ActiveSheet.Range(Startrow_fil & ":" & Endrow_fil).AutoFilter Field:=1, Criteria1:=ary, Operator:=xlFilterValues
量角器错误 信息: Key'的预期价值to equal Object({$$ state:Object({status:0}),catch:Object({}),then:Object({}),finally:Object({})})。
感谢您的帮助
答案 0 :(得分:0)
看起来您的helpers.translate()
函数会返回一个承诺。
在Protractor / Jasmine中,只有断言的左边部分 - expect()
部分能够隐含地解析承诺。在您的情况下,正确的部分toEqual()
不是。
明确解决承诺 :
helpers.translate('value_key').then(function(value) {
var text = element(by.xpath('//*[@id="idname"]/div/h3')).getText();
expect(text).toEqual(value);
});
您还可以使用protractor.promise.all()
来解决这两个承诺,然后断言:
var promise1 = element(by.xpath('//*[@id="idname"]/div/h3')).getText();
var promise2 = helpers.translate('value_key');
protractor.promise.all([promise1, promise2]).then(function(values) {
expect(values[0]).toEqual(values[1]);
});
目前不是issues with using protractor.promise.all()
in 4.0.0(应该是fixed in the next version(s))。解决方法可在此处获得。