Мне интересно, как выполнить несколько блоков «описать» в синхронном порядке?Транспортир в узле: Как мне заставить мои тесты работать синхронно?
describe('Go To Home Page', function() {
browser.ignoreSynchronization = true;
it("Url should be on Login Page", function() {
browser.get(HomePageUrl).then(function() {
browser.wait(urlChanged(loginPageUrl), 2000).then(
function (newurl){
var url = browser.getCurrentUrl().then(function (url) {
expect(url).tobe(loginPageUrl);
//I know I'm at Login page url... how do I kick off next test?
});
}
)
});
});
});
Этот тест идет на домашней странице, а затем, если он будет перенаправлен на страницу входа в систему, я хочу, чтобы выполнить все мои тесты Вход с использованием новых описывают блоки. Проблема в том, что если я поставлю следующий блок Describe на том же уровне, что и первый, узел выполнит все из них параллельно.
Я бы предпочел не попасть в callback-hell ... код выше уже слишком глубок, на мой взгляд.
Они работают синхронно. Вы отключите угловую синхронизацию в начале, которая ведет себя так: [control-flow] (https://github.com/angular/protractor/blob/master/docs/control-flow.md). –
Кроме того, помещая блок 'describe' в' '' '', вы делаете ваши тесты опирающимися друг на друга, что всегда является рецептом для катастрофы. Проверьте свою страницу входа в тест, а затем сделайте 'beforeEach' для ваших других тестов, которые регистрируют вас или какие-либо настройки, которые вам нужны для них. –
В противном случае может возникнуть вопрос о возврате '' перед 'browser.wait'. –