我正在尝试使用量角器为我的应用编写一个e2e 这是我的应用程序的登录页面
<ion-navbar *navbar primary>
<ion-title>{{config.organization}} - Login</ion-title>
</ion-navbar>
<ion-content>
<ion-list>
<form #loginForm="ngForm" novalidate>
<ion-item>
<ion-label floating primary>Username</ion-label>
<ion-input [(ngModel)]="userProvider.userName" (change)='onUserNameChange()' ngControl="username" type="text" #username="ngForm" id='userNameField' required>
</ion-input>
</ion-item>
<p [hidden]="username.valid || submitted == false" danger padding-left>
Username is required
</p>
<ion-item>
<ion-label floating primary>Password</ion-label>
<ion-input [(ngModel)]="userProvider.password" (change)='onPasswordChange()' ngControl="password" type="password" #password="ngForm" id='passwordField' required>
</ion-input>
</ion-item>
<p [hidden]="password.valid || submitted == false" danger padding-left>
Password is required
</p>
<ion-row responsive-sm >
<button (click)="onLogin(loginForm)" id="logInButton" type="submit" primary round>Login</button>
</ion-row>
<ion-item>
Server: {{ob3URL}}
</ion-item>
<ion-row [hidden]='!wrongCredential'>
<p danger class='errorElement'>
Username / Password is wrong
</p>
</ion-row>
</form>
</ion-list>
</ion-content>
在我的spec文件中,我使用了这个
it('should start with empty fields',() => {
expect((element.all(by.css('.text-input')).get(0)).toContain(""))
});
检查天气,页面上有关于页面加载的数据但是当我执行此操作时,我的终端出现错误 app / pages / login / login.e2e.ts(21,60):'ElementFinder'类型中不存在属性'toContain'。 (2339)
如果我发送密钥,它会在该文本框中发送密钥,但我无法通过使用toBe(“”)检查它,toContain('')我不能指望任何这个 有人可以帮我吗
答案 0 :(得分:1)
'ElementFinder'类型中不存在'toContain'属性。
这里有几个问题:
toContain()
expect()
toEqual("")
属性上使用value
text-input
类的元素,但我假设您知道此处的内容修正版:
expect(element.all(by.css('.text-input')).get(0).getAttribute("value")).toEqual("");