e2e ionic2 测试代码不起作用
e2e ionic2 test code does not work
我正在尝试使用量角器为我的应用程序编写 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>
在我的规范文件中我使用了这个
it('should start with empty fields',() => {
expect((element.all(by.css('.text-input')).get(0)).toContain(""))
});
检查天气页面是否有页面加载数据,但是当我执行此操作时,我的终端出现错误
app/pages/login/login.e2e.ts (21,60):属性 'toContain' 在类型 'ElementFinder' 上不存在。 (2339)
如果我发送密钥,它会在该文本框中发送密钥,但我无法使用 toBe(""),toContain('') 检查它,我无法预料到这些
有人可以帮我吗
Property 'toContain' does not exist on type 'ElementFinder'.
这里有几个问题:
- 你把引号搞混了。
toContain()
需要在 expect()
的结果上调用
- 由于需要检查输入字段是否为空,因此需要在input
的value
属性上使用toEqual("")
- 我在您发布的 HTML 中没有看到带有
text-input
class 的元素,但我假设您现在知道自己在寻找什么
固定版本:
expect(element.all(by.css('.text-input')).get(0).getAttribute("value")).toEqual("");
我正在尝试使用量角器为我的应用程序编写 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>
在我的规范文件中我使用了这个
it('should start with empty fields',() => {
expect((element.all(by.css('.text-input')).get(0)).toContain(""))
});
检查天气页面是否有页面加载数据,但是当我执行此操作时,我的终端出现错误 app/pages/login/login.e2e.ts (21,60):属性 'toContain' 在类型 'ElementFinder' 上不存在。 (2339)
如果我发送密钥,它会在该文本框中发送密钥,但我无法使用 toBe(""),toContain('') 检查它,我无法预料到这些 有人可以帮我吗
Property 'toContain' does not exist on type 'ElementFinder'.
这里有几个问题:
- 你把引号搞混了。
toContain()
需要在expect()
的结果上调用
- 由于需要检查输入字段是否为空,因此需要在input 的
- 我在您发布的 HTML 中没有看到带有
text-input
class 的元素,但我假设您现在知道自己在寻找什么
value
属性上使用toEqual("")
固定版本:
expect(element.all(by.css('.text-input')).get(0).getAttribute("value")).toEqual("");