提问人:Vin 提问时间:5/11/2022 更新时间:5/12/2022 访问量:637
if 语句中的 Expect().toBe(true) 条件未按预期工作
Expect().toBe(true) condition in if statement not working as expected
问:
我正在使用带有硒的量角器,并尝试使用 if 语句中的 expect() 条件检查存在的元素,但即使条件为真,它也会阻止。在这种情况下,我尝试了 toBe 和 toEqual,两者的效果都相同。
let email_Original = element(by.css('button[value="original"][aria-pressed="true"]'))
var isTranslated = await email_Original.isPresent()
console.log('Translate button state is ' + isTranslated)
if (expect(isTranslated).toBe(true)) {
console.log('Pass: Email successfully translated to original language')
} else {
console.log('Fail: Email not translated to original language')
}
output
Translate button state is true
Fail: Email not translated to original language
答:
1赞
tehbeardedone
5/12/2022
#1
我会删除日志记录消息,只使用断言来告诉您是否通过。
it('should be translated', async () => {
const email_Original = element(by.css('button[value="original"][aria-pressed="true"]'));
const isTranslated = await email_Original.isPresent();
expect(isTranslated).toBe(true);
});
评论
0赞
Vin
5/12/2022
我能够使用本页中提到的解决方案解决问题。我用了完成的回调 stackoverflow.com/questions/61514860/...
0赞
Vin
5/12/2022
您的解决方案仅在您想显示失败时才有效,但我也需要传递消息,所以完成回拨对我来说两者都有效
评论
if (isTranslated) {}
expect()
expect(isTranslated).toBe(true)
expected 'false' to be 'true'
it('should be translated', () => {})