Я ломал голову и искал в интернете способ сделать тестовый код транспортира e2e синхронным, но безрезультатно! Чего я хочу добиться, так это повторять один и тот же тест транспортира до бесконечности, пока я не закрою браузер, не закончу тесты или не завершу его с помощью ^ (control) c в командной строке. Вот пример того, что я пытаюсь сделать:
import { AppPage } from './app.po';
import { browser } from 'protractor';
import { interval } from 'rxjs';
import { takeWhile, switchMap } from 'rxjs/operators';
describe('workspace-project App', () => {
let page: AppPage;
let testComplete = false;
beforeEach(() => {
page = new AppPage();
});
while (true) { // Doesn't work
it('should display welcome message', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Welcome to testAngular6!');
console.log('Executing tests');
browser.wait(function () { return true; }, 5000);
});
}
});
но цикл while вокруг теста 'it' не работает и продолжает циклически повторяться. Я понимаю, что не могу использовать для этого ни одну из команд ожидания транспортира / веб-драйвера или даже API-интерфейсы с интервалом rjx, потому что это чисто проблема JavaScript. Поскольку JavaScript является однопоточным. Как я мог достичь этого, пожалуйста? В интернете есть много вопросов по этому поводу, но некоторые не имеют ответов, а другие в лучшем случае похожи, но не совсем одинаковы! Заранее большое спасибо за вашу помощь.