Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

[Resolved] Как сохранить ссылку на текущее окно/страницу?


(Рома Маринский) #1

Как сохранить ссылку на текущее окно?

Что имею: есть 4 шага по созданию рекламной кампании, после выполнения (ввода и сохранения данных) на первом шаге происходит переход на второй шаг создания этой же рекламной кампании.
Т.к. второй шаг создания очень огромный для автоматизации, поэтому я создаю другие классы для перебора всех возможных сценариев. Проблема в том, что без ссылки на второй шаг, которая сгенерирована после создания рекламной кампании на первом шаге, я не могу продолжить выполнение тестового сценария.

Мне нужно сохранить ссылку текущей открытой страницы (второго шага) и передать значение в другой класс - чтобы я мог запускать разные тесты вне зависимости от первого шага. Ну и чтобы не грузить один класс миллионом строк :smile:

Пишу на Java в IntelliJ IDEA


[Resolved] Завершение профиля FireFox
(Sergey Korol) #2

Слабо представляю, что из этого выйдет. Вы собираетесь второй шаг руками подготавливать что-ли? Типа тест выполнит первый, вы введете руками все остальное на втором, тест подождет и продолжит с 3го?

Или вы хотите “сохранить” страницу в заполненном состоянии на втором шаге, а потом воспроизвести остальные тесты уже с этого своеобразного снепшота? Если так, то вы наверное не до конца понимаете принцип работы “визардов”, которые в post запросах передают промежуточные состояния с информацией по предыдущим шагам. Чисто технически, это возможно лишь лобовым вызовом end-point’а 3го шага с подсовыванием json’а, содержащего информацию предыдущих. Но даже если вы знаете end-point, вряд-ли у вас будет доступ к нему без какого-нибудь auth-token’a, уникального для данной сессии. Хотя, по идее вам даже UI не даст загрузиться с третьего шага без прохождения двух предыдущих.

Ну а если подумать логически: вы ведь атоматизируете шаги реального пользователя. Реальный пользователь разве так сможет сделать? К тому же, на реализацию подобного трюка вам понадобятся немалые знания и время. А все потому, что вам просто лень реализовать страницу 2го шага? :wink:


(Рома Маринский) #3

Понял, видимо не понятно описал суть того нужно автоматизировать.
Мне нужно автоматизировать создание всех возможных рекламных кампаний, которые можно создать с помощью соответствующей системы.

Первый шаг создания РК - маленький, после сохранения первого шага и перехода на следующий шаг, генерируется ссылка на него (второй шаг создания РК). Но этот шаг создания РК - невероятно объёмный для автоматизации, логику перебора я уже продумал и описал в множестве классов.
А вот как сохранить ссылку текущей страницы (т.е. второго шага) не знаю :smile:


Мне нужно сохранить ссылку второго шага и передать её в другой класс, чтобы тот мог делать всё что захочет с этой страницей. Полноценная URL ссылка находится в адресной строке браузера. Она прикреплена к соответствующей рекламной кампании навсегда


(Sergey Korol) #4

Теперь понятней. А сгенерированная ссылка содержится в каком-то элементе страницы, либо приходит на почту? Как вы узнаете о том, что она сгенерирована? Вы ведь не копируете URL из строки запроса, ведь так?


(Рома Маринский) #5

Для пользователя она расположена в адресной строке браузера. И от туда её скопировать нужно


(Sergey Korol) #6

driver.getCurrentUrl() пробовали?


(Рома Маринский) #7

Неа, попробую. Спасибо)


(Рома Маринский) #8

Вопрос решился, спасибо)