问题
While writing test cases using protractor.js for Angular 2 application , if I want to get element(by.model("xyz.test"))
its always giving failure saying angular is not defined.
Any idea how to fix this issue?
回答1:
As mentioned by @Carmen Popoviciu, who is one of the contributors to the Protractor style guide, by.model and by.binding are not yet working with Protractor and Angular 2:
"Keep in mind that currently not all locator strategies are supported for ng2 apps. Things like by.model() or by.binding() are not working just yet. Check the Protractor changelog for new releases"
https://github.com/CarmenPopoviciu/angular2-go-protractor
回答2:
Here's a github issue to follow about this, by.model
is mentionned in the comments.
(that's the only open ticket I could find at the minute, if anyone has better)
回答3:
The answer from @Gabriel Kohen is definitely accurate but I thought I would add another answer with some links to the documentation that actively discourage use of by.model
and by.binding
https://github.com/angular/protractor#compatibility
https://github.com/angular/protractor/blob/master/docs/locators.md#locators
At this point it's probably unlikely they will ever be supported.
来源:https://stackoverflow.com/questions/38077812/angular-2-e2e-using-protractor-by-model-not-working