|
|
|
Проблема с Selenium driver.manage().addCookie()
|
|||
|---|---|---|---|
|
#18+
Суть задачи: Необходимо в пределах одного теста иметь доступ к нескольким сессиям одного и того же браузера (сессии отличаются определенным набором cookie). Как решали: После успешного входа запоминаем текущие cookie браузера Код: java 1. И очищаем их Код: java 1. Тут проблем нет. При необходимости доступа к сайту под конкретным пользователем (сиречь в контексте конкретной сессии) куки восстанавливаем: Код: java 1. Код оной cookiesRestore выглядит так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В этом месте все также хорошо, сессия осстанавливается и сайт отображает персонализированную информацию. Суть проблемы: После того как cookie были восстановлены с помощью addCookie удалить их сервером не представляется возможным. Более детальная информация: Порядок запросов ( скрин с пруфом ): http://example.com/community/1_7_0_2/customer/account/logout/ http://example.com/community/1_7_0_2/customer/account/logoutSuccess/ Не этом этапе сервер запрашивает удаление Cookie Request Headers Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Response Headers Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Обратите внимание на запрос удаления кук GSBC_CUSTOMER и GSBC_CUSTOMER_GROUP http://example.com/community/1_7_0_2/ По непонятной причине куки, которые были удалены на предыдущем этапе снова посылаются на сервер на этом этапе Request Headers GET /community/1_7_0_2/ HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://example.com/community/1_7_0_2/customer/account/logoutSuccess/ Cookie: GSBC_CUSTOMER_GROUP=f4aee0ff13df6562b7efcb1096bc17a9; GSBC_FORM_KEY=f2PpIsRnipHcW6ZQ; GSBC_CUSTOMER=852f1523f81eb1ecb073e2b05601d571; frontend=454pi1d5dofp897ae5ua66jiu5; GSBC_FORM_KEY_HASH=1e668ce4d2f2979c0237d7a51546e9ac; GSBC_FORM_KEY=f2PpIsRnipHcW6ZQ; GSBC_FORM_KEY_HASH=1e668ce4d2f2979c0237d7a51546e9ac; frontend=454pi1d5dofp897ae5ua66jiu5; GSBC_CATALOG_CATEGORY_SESSION_PARAMS=eNoDAAAAAAE%3D3e5d2975d Connection: keep-alive Обратите внимание на cookie GSBC_CUSTOMER_GROUP и GSBC_CUSTOMER. До момента пока не начали манипулировать cookie подобной проблемы не существовало. Код, который генерирует вереницу запросов с редиректом и восстановлением куки: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=36&fpage=4&tid=1554662]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 28ms |
| total: | 165ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...