2016-05-03 2 views
1

Я пытаюсь написать E2E для моего приложения с помощью транспортира это мой Логин страница моего приложенияe2e код тест ionic2 не работает

<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)

если я отправить ключи это отправить ключи в этом текстовом поле, но я не мог проверить его с помощью Тобе («»), toContain («») я не мог ожидать какой-либо из этого может кто-то помочь мне

ответ

1

Свойство 'toContain' не существует в типе 'ElementFinder'.

Несколько проблем здесь:

  • вы перепутали кавычки. toContain() должен быть вызван в результате expect()
  • , так как вы должны проверить, что поле ввода пусто, вам нужно использовать toEqual("") на атрибут вход
  • value Я не вижу элемент с классом text-input в HTML вы выложили, но я предполагаю, что вы знаете, что вы местонахождение в данный момент

Fixed версия:

expect(element.all(by.css('.text-input')).get(0).getAttribute("value")).toEqual(""); 
Смежные вопросы