2015-09-05 2 views
0

У меня простая форма с 2 входами - имя пользователя и пароль и кнопка для входа. Все работает отлично, но тест транспортира висит после заполнения первого входа в Chrome на Mac (он работает в Firefox на Mac). Что странно, иногда оно заполняет их обоих, но зависает при нажатии на кнопку. После таймаута я получаю «Принудительно ждать, пока Транскаватор будет синхронизироваться со страницей через 11 секунд».транспортир висит на входном элементе в Chrome

В чем причина этого?

Вот HTML: тест

<input type="text" 
     name="username" 
     ng-enter="ctrl.login(ctrl.username, ctrl.password)" 
     ng-model="ctrl.username"> 

<input type="password" 
     name="password" 
     ng-enter="ctrl.login(ctrl.username, ctrl.password)" 
     ng-model="ctrl.password"> 

<a href="" class="btn btn-login btn-danger btn-float no-waves" 
      ng-click="ctrl.login(ctrl.username, ctrl.password)"> 
</a> 

Транспортир:

describe('basic', function() { 

    it('should login to application', function() { 

     browser.get('lib/iqsec/ui/src/index.html#/?redirect_url=http://localhost:3000/dist/index.html'); 

     browser.sleep(1000); 

     expect(browser.getTitle()).toBe('Logowanie'); 

     element(by.css('input[name="username"]')).sendKeys('user'); 
     element(by.css('input[name="password"]')).sendKeys('user'); 
     element(by.css('a.btn-login')).click(); 

     browser.sleep(1000); 

     expect(browser.getTitle()).toBe('IMPAQ Alerter'); 
    }); 
}); 

ответ

0

Где директива нг-приложение находится в вашем DOM? По умолчанию транспортир думает, что это элемент тела. Если нет, вы должны использовать такой параметр в конфигурации:

rootElement: 'html', 

, чтобы обеспечить правильный путь. Также попытайтесь увеличить таймаут:

allScriptsTimeout: 50000, 
+0

Я делаю ручную бутстрап, поэтому ng-app, но на самом деле транспортир ищет глобальный угловой объект, а не ng-app (потому что никто не делает ng-app в серьезных файлах). также - он плавник угловой без проблем, поэтому его не так. – Yoorek

+0

таймаут не помогает – Yoorek

+0

@Yoorek, поэтому, когда вы меняли таймаут, он просто терпит неудачу после 50 секунд, например, вместо 11? Какой транспортир/жасмин вы используете? –

0

Эта проблема связана с последней версией Google Chrome. У меня такая же проблема. И простым решением, которое я нашел, является использование старой версии Google Chrome (например, 43.0.2357.134) до тех пор, пока ошибка не будет исправлена. На Mac вы можете установить несколько версий одновременно.

+0

Это правда - он работает с Chrone 43. Проблема заключается в том, что Chrome продолжает обновлять себя – Yoorek

Смежные вопросы