В соответствии с лучшими практиками Cypress, я должен избегать использования моего логина перед каждым тестом.Я изо всех сил пытаюсь сделать это, используя Oracle APEX , потому что кажется, что процесс входа требует намного больше, чем просто имя пользователя и пароль.
Я использовал tamper data tool
и Jmeter
в Chrome дляизучить механизм входа в систему Oracle APEX и, по сути, процесс входа в систему состоит из 2 шагов:
(1) страница входа перенаправляет на страницу входа с действительным идентификатором сеанса в URL, заполненном десятками, чувствительными ко времениуникальные идентификаторы.
(2) После отправки вашего имени пользователя и пароля в /ords/wwv_flow.accept делается запрос POST с именем пользователя, паролем и несколькими другими чувствительными ко времени уникальными идентификаторами.
ItПохоже, что для успешного входа в систему APEX требуется нечто похожее на следующее:
p_json : {"salt":"108222855956905007172773085768141257328","pageItems":{"itemsToSubmit":[{"n":"P101_USERNAME","v":"jsmith"},{"n":"P101_PASSWORD","v":"Password123"}],"protected":"unDCYO1qmj_OAwtyYNo_yA","rowVersion":""}},
p_flow_id : 4000250,
p_flow_step_id: 101,
p_instance: 6589106753596,
p_page_submission_id: 108222855…,
p_request : LOGIN,
p_reload_on_submit : A
Все эти переменные (кроме имени пользователя и пароля) доступны на странице входа в систему, но для их получения мне необходимо посетить страницуинтерфейс входа в систему, что я пытаюсь избежать.Я думаю об этом неправильно?