Frage

I'm migrating my karma-ng-scenario tests suite to protractor. I would like to do something like

// karma-ng-scenario
expect(element('legend').text()).not().toBe("LOGIN_CONNECT");

in the protractor way. But it seems there isn't a not() function.

I'm using angular-translate to bind the LONGIN_CONNECT string into multiple languages and I want to test if the string is translated.

More globally, is there a a way test if something is different ? ... don't have a class, don't exists on the page, is not selected, ...

War es hilfreich?

Lösung

It is definitely worth looking at the API docs. I have these open pretty much all the time. There are lots of Web Driver functions you can use like isEnabled(), isDisplayed(), isSelected() etc. Protractor uses Jasmine syntax so you can use '.toBe(false)' to assert things are false. To check for classes, you can do something like:

expect(myElement.getAttribute('class')).toContain('my-class-name');

To compare strings and assert that they do NOT match you could use .not. Jasmine docs say:

Every matcher's criteria can be inverted by prepending .not:

expect(x).not.toEqual(y); compares objects or primitives x and y and passes if they are not equivalent

Andere Tipps

You can use something like:

expect(model.getText()).not.toContain('abcdef');

There is a .not property nowadays.

I'm using the following to check for NOT matching:

expect(element('legend').text() === "LOGIN_CONNECT").toBe(false);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top