Jasmine Tothrower的错误

Jasmine Tothrower的错误,jasmine,Jasmine,是否可能捕捉到量角器错误?我试过: let MagicBtn = element(by.css('.submitBtn')); expect(() => {(MagicBtn.click();}).toThrowError("Failed: No element found using locator: By(css selector, a[id=link33])"); 或不同的情况,例如: expect(MagicBtn.click()).toThrowError("Failed: N

是否可能捕捉到量角器错误?我试过:

let MagicBtn = element(by.css('.submitBtn'));
expect(() => {(MagicBtn.click();}).toThrowError("Failed: No element found using locator: By(css selector, a[id=link33])");
或不同的情况,例如:

expect(MagicBtn.click()).toThrowError("Failed: No element found using locator: By(css selector, a[id=link33])");
或者创建一个新函数并通过throwerror捕捉它:

var foo = function() {
                MagicBtn.click();
            };
let exception1 = new TypeError('Failed: No element found using locator: By(css selector, a[id=link33])')

expect(foo).toThrowError(exception1);

但是TothRower捕捉到的错误不是由量角器引起的(当然这是可以理解的)-我只是想如果它是可解决的

为什么要捕捉错误?如果要检查元素是否不存在,请使用
expect(MagicBtn.isPresent()).toBe(false)
。要在If条件下使用它,我不能使用expect,因为它是一个promise,我不确定您的意思
isPresent()
将返回一个承诺
expect
可以为您处理/解析承诺,因此上面的方法会起作用不?我不能使用if(expect(by.css('.foo'))==true){//code},我得到一个错误,我不能使用承诺到条件道歉,我不太理解您的用例。如果断言失败,您想做什么?如果失败,测试将失败,并将通知您测试失败,对吗?当测试失败时,您希望执行什么操作?为什么?