2015-06-23 1 views
1

Я создал простую страницу Углового портала. На главной странице есть панель поиска, где вы можете набрать имя какой-либо команды nba, такой как «chicago bulls», «Indiana pacers» и т. Д. После того, как вы наберете имя команды и нажмите submit. Вы перенаправлены на вторую страницу, где вы можете прочитать сводку о команде, которую вы набрали.Испытание преграды на угловой странице Сроки

Я использую угловые js и транспортир для проверки своих страниц. На первой странице я сделал простой тест, который прошел. Я проверил просто тег названия правильный

it('should have a title', function() { 
    browser.get('http://localhost:3000/'); 

    expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY'); 
    }); 

Название должно быть одинаковым на 2-й странице. Поэтому я сделал следующий тест, чтобы проверить это. Я набрал имя какой-то команды и нажал кнопку submit, чтобы перейти на вторую страницу. Вот мой код

it('Title should be consistent', function(){ 
    browser.get('http://localhost:3000/'); 
    element(by.css('input')).sendKeys('Chicago Bulls'); 
    element(by.css('button')).click(); 

    expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY'); 
    }); 

Однако 2-й тест никогда не запускался, и он закончился, и я получил следующее сообщение.

Message: 
    Timed out waiting for Protractor to synchronize with the page after 11 seco 
nds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md 
    Stacktrace: 
    undefined 

Finished in 13.67 seconds 
1 test, 1 assertion, 1 failure 

Вот мой conf.js код файла

exports.config = { 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['spec.js'], 
    capabilities: { 
    browserName: 'chrome' 
    } 
} 

Я-то отсутствует? Пожалуйста посоветуй.

+0

Это угловая страница открывается после щелчка? – alecxe

+0

@alecxe да, на первой странице вы набираете имя команды, а затем вы нажимаете кнопку отправки, которая переводит вас на следующую страницу, где вы можете прочитать сводку о команде, которую вы ввели на первой странице. – user1010101

ответ

1

Tweaking ignoreSynchronization должно помочь здесь:

afterEach(function() { 
    browser.ignoreSynchronization = false; 
}); 

it('Title should be consistent', function(){ 
    browser.get('http://localhost:3000/'); 
    element(by.css('input')).sendKeys('Chicago Bulls'); 

    browser.ignoreSynchronization = true; 
    element(by.css('button')).click(); 

    expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY'); 
}); 
+0

Удивительно, что это сработало, мне было интересно, можете ли вы вкратце объяснить мне, что делает игнорирование синхронизации? только для личных знаний. Также я немного смущен тем, что на самом деле синхронизируется? – user1010101

+1

@ user1010101 рад, что это помогло. Конечно, смотрите: http://stackoverflow.com/questions/28808463/what-is-browser-ignoresynchronization-in-protractor. – alecxe

+0

У моего друга есть аналогичный вопрос, как у меня, я сказал ему, чтобы он опубликовал его. Я дал ему советы, которые вы сделали, но он застрял, и я думаю, что вы, возможно, уточните его недопонимание http://stackoverflow.com/questions/31077824/looping-over -The-карта-функция-в-транспортир – user1010101

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