2013-10-10 5 views
0

Я хотел бы протестировать форму в Жасмине, используя Карму. Когда я вводим неверные учетные данные и нажимаю кнопку, появляется уведомление с соответствующим сообщением. К сожалению, в iframe в карме не отображается этот div, поэтому следующий ожидание не выполняется, потому что селектор не соответствует ни одному элементу.Тестирование формы в жасмине, карма

it('Testing a form', function() { 
    browser().navigateTo('/index.html'); 
    input('firstName').enter('Wrong'); 
    input('lastName').enter('Wrong'); 
    element(':button.btn').click(); 
    expect(element('.msg h1').text()).toMatch('Wrong Credentials'); 
} 

Ошибка я получаю

Selector .MSG h1 не найдено ни одного элемента.

Когда я использую sleep (10) или pause(), чтобы увидеть форму после события click, сообщение не появилось, поэтому селектор не соответствует ни одному элементу. Любая идея, пожалуйста? Большое спасибо!

+0

Как отображается уведомление? Я видел много подобных проблем, если элементы были внесены с переходом. – Andyrooger

+0

Существует директива, которая показывает сообщения. Это не только скрытый div, который я делаю видимым, когда учетные данные верны. – jimakos17

+0

Считаете ли вы, что сможете скомпилировать свой код и тесты в небольшом соответствующем образце для plunker или jsfiddle? Я не уверен, что есть достаточно информации, чтобы понять, что здесь не так (для меня, по крайней мере). – Andyrooger

ответ

0

Вы можете попробовать это;

Изменить expect(element('.msg h1').text()).toMatch('Wrong Credentials');

в

expect(element('[ng-view] .msg h1').text()).toMatch('Wrong Credentials'); 
1

1.You может создать такую ​​же форму элемента внутри тестового скрипта с использованием $ компилировать службы и протестировать его, установив значения текстовых полей и нажмите $ («кнопка класса») .click(); И установить шпион по методу, который показывает ошибку или успех msg.So, что вы можете понять, если msg отображается или нет. 2. Вы должны создавать JSON из данных формы и проверять его или присваивать данные формы любому объекту $ scope.variable_name. Перед тем как вызывать функцию проверки, явным образом установил эту переменную с неправильным вводом. Затем вызовите функцию при нажатии кнопки или $ scope. $ испускают ('щелчок'); и установите метод spy на метод, используемый для отображения сообщения об ошибке.