Чтобы тестовые случаи были как можно короче, я хочу не повторять весь процесс входа и каждый раз щелкать.
Мне нужна функция для проверки того, зарегистрирован ли пользовательв уже и объединить это с различной логикой для каждого случая (да или нет).
Допустим, я сразу же вызову browser.get('/newUrl');
в первой строке теста. Что должно произойти: система проверяет, вошел ли она в систему ... Если ДА -> перенаправить на /newUrl
|если НЕТ -> перенаправить на /login
, войдите и затем перенаправьте обратно на /newUrl
Итак, я знаю о транспортирах urlIs
и getCurrentUrl
, которые я пытался использовать в комбинациис browser.driver
. Это еще не сработало, чего я и ожидал.
redirectToMandate() {
browser.driver.wait(() => {
browser.driver.getCurrentUrl().then(() => {
if (browser.driver.getCurrentUrl() !== '/mandate') {
const loginPage = element(by.cssContainingText('a', 'Passwort vergessen? (Mail an Admin)'));
browser.wait(until.visibilityOf(loginPage), 15000, 'Error element taking too long to appear');
page.valuesForLogin();
const loginButton = element(by.id('btn-login'));
loginButton.click();
const mandateText = element(by.cssContainingText('.AppSubHeader_mainTitle', 'Mandate'));
expect(browser.wait(until.visibilityOf(mandateText)));
} else {
browser.get('/mandate');
browser.wait(
until.urlContains('/mandate'), 10000
);
}
});
});
}
Я начал пробовать что-то подобное, но это не работает
Буду признателен за любую помощьвозможно, спасибо!