Я использую Selenium HtmlUnitDriver
и задаюсь вопросом, возможно ли как-то сохранить состояние этого драйвера.
Я имею в виду, что для проверки чего-то на странице мне нужно загрузить драйвер -> загрузить и добавить файлы cookie -> пройти страницу входа в систему -> получить требуемую страницу. Это занимает слишком много времени, чтобы делать это каждый раз.
Есть ли что-то вроде «состояния сервера» или, может быть, мне нужно сериализовать и сохранить драйвер? Спасибо.Сохранение браузера Selenium active
ответ
Поскольку мне удалось решить мой вопрос, я оставлю это здесь:
1. Я взял selenium-server-standalone
и запустить его с -browserSessionReuse -timeout 3600 -browserTimeout 600
сохранить свою сессию в живых.
2. Сделано мой класс:
public class MyRemoteWebDriver extends RemoteWebDriver {
....
@Override
protected void startSession(Capabilities desiredCapabilities, Capabilities requiredCapabilities) {
String sid = loadSessionID("SID_NAME");
if (sid != null) {
super.startSession(desiredCapabilities, requiredCapabilities);
log.info("Old SID: " + sid);
setSessionId(sid);
try {
getCurrentUrl();
log.info("Old url: " + getCurrentUrl());
} catch (WebDriverException e) {
sid = null;
}
}
if (sid == null) {
super.startSession(desiredCapabilities, requiredCapabilities);
saveSessionID(getSessionId().toString());
log.info("New SID: " + getSessionId().toString());
}
}
}
Итак, таким образом, я могу хранить этот SESSIONID в БД и повторно использовать его.
Вы можете попробовать использовать однотонный webdriver вместо создания одного для каждого теста. Нечто подобное:
class SingletonWebdriver {
private static Webdriver driver;
public static Webdriver getDriver() {
if(driver == null) {
createDriver();
}
return driver;
}
}
И тогда вы можете вызвать getDriver получить тот же драйвер, но во многих случаях это хорошая практика, чтобы сделать каждое испытание в Diferent сессии.
Я использую такой синглэнд webdriver в своем приложении. Возможно, я ошибся, но мне нужно остановить все приложение, чтобы внести изменения и запустить его снова. Этот синглтон не поможет мне в этом случае. – IgorZ
- 1. Selenium сохранение истории браузера
- 2. Сохранение Firebug active
- 3. Размер окна браузера Selenium
- 4. Профиль браузера в selenium
- 5. Плагины браузера для браузера с Selenium
- 6. Ошибка запуска браузера Selenium-RC
- 7. Selenium получить последнее окно браузера
- 8. Selenium Webdriver - отключение браузера cookie
- 9. убийство удаленного браузера от Selenium
- 10. Selenium RC - отключение браузера cookie
- 11. Код Selenium через расширение браузера
- 12. Получить PID браузера, запущенного selenium
- 13. Сохранение названия браузера, полученного из селена
- 14. Сохранение файла с WWW :: Selenium
- 15. Слушайте событие keydown без окна браузера active
- 16. Azure Active Directory - аутентификация без окна браузера
- 17. сохранение изображения из браузера проблема
- 18. Сохранение браузера Android с услугой
- 19. Сохранение переменной после закрытия браузера
- 20. Геолокация Сохранение сеанса браузера Постоянно
- 21. Сохранение пользовательских ролей в свойствах Active Directory
- 22. Сохранение изображения подписи в Active Directory
- 23. Использование PhantomJS для браузера без браузера в Selenium - Python
- 24. Как получить контроль над окном браузера веб-браузера selenium
- 25. Selenium - Не удалось запустить сеанс Selenium: не удалось запустить новый сеанс браузера: ошибка при запуске браузера
- 26. Webrat Selenium: не удалось запустить новый сеанс браузера: ошибка при запуске браузера (Selenium :: CommandError)
- 27. Сохранение удаленного изображения с помощью браузера без браузера на рубине
- 28. Selenium ChromeDriver C# - Как отправить ярлык браузера
- 29. Получение браузера с использованием Selenium и Java
- 30. Selenium C# множественное тестирование браузера exe ссылки
Вам также не нужно проходить страницу входа, если вы также устанавливаете файлы cookie. Вы уверены, что файлы cookie работают? Некоторые браузеры запрещают вам устанавливать файлы cookie, если окно браузера уже не просматривает страницу на одном сайте, поэтому вам, возможно, придется перейти к, например, (или пустую страницу на том же сайте) перед настройкой файлов cookie. – Beetle
Да, я знаю об этом. Cookies работают, и мне не нужно входить в систему каждый раз. Но все-таки эта навигация каждый раз требует времени. Было бы неплохо иметь копию этого драйвера на определенной странице. Конечно, если это возможно. – IgorZ