Спрос
Поскольку запрос на симуляцию для входа слишком сложен, мы хотим использовать Selenium для открытия Google Chrome, чтобы получить значение cookie после входа, а затем перенести содержимое cookie, чтобы запросить соответствующий интерфейс сайта для автоматизации теста.
Селен
Selenium — это инструмент для тестирования веб-приложений. Тесты Selenium запускаются непосредственно в браузере, словно это делает реальный пользователь. Поддерживаемые браузеры включают IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera и др. Основные функции этого инструмента включают: тестирование совместимости браузеров — тестировать ваше приложение, чтобы убедиться, что оно хорошо работает на разных браузерах и операционных системах. Функциональность тестовой системы — создание регрессионных тестов для проверки функциональности программного обеспечения и требований пользователей. Он поддерживает автоматическую запись действий и автоматическую генерацию тестовых скриптов на различных языках, таких как .Net, Java, Perl и др.
Сначала давайте создадим новый консольный проект на C# с названием проекта «chrome-cookie-demo» и версией для .NET Framework — 4.7.2.
Команда nuget выглядит следующим образом:
После установки Selenium.WebDriver.ChromeDriver в каталоге отладки проекта генерируется chromedriver.exe-файл. Selenium.WebDriver понимается как абстрактный интерфейс, и затем каждый браузер реализует этот интерфейс самостоятельно, Selenium.WebDriver вызывает Selenium.WebDriver.ChromeDriver(chromedriver.exe) chromedriver.exe запускает нативно установленный Google Chrome согласно полученным параметрам и выполняет соответствующую операцию.
Конечно, есть необходимое условие,На компьютере должен быть установлен Google Chrome。
Код таков:
Ошибка следующая:
System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 83
Это означает, что текущий драйвер не поддерживает версию 83 Google Chrome, проверьте установленную версию на компьютере следующим образом:
(Версия 71.0.3578.98)
Обновление вашего нативного Google Chrome и перезагрузка решат проблему (или установите версию браузера, соответствующую требованиям).
Мы пытаемся заново запустить проект Chrome-cookie-demo и выяснием, что сайт можно открыть нормально, но,Веб-страница не входит в систему。 Когда вы нажимаете на браузер, чтобы открыть этот сайт, статус входит в систему.
Решением является установка параметра user-data-dir следующим кодом:
Мы перезапускаем программу и получаем следующую ошибку:
Unhandled exception: OpenQA.Selenium.WebDriverException: invalid argument: userdata directory уже используется, пожалуйста, укажите уникальное значение для --user-data-dir argument, или не используйте -- user-data-dir на OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, параметры словаря'2) В OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) В OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) В OpenQA.Selenium.Chrome.ChromeDriver: ctor (сервис ChromeDriverService, опции ChromeOptions, команда TimeSpan Timeout) В OpenQA.Selenium.Chrome.ChromeDriver: ctor (сервис ChromeDriverService, опции ChromeOptions) В chrome_cookie_demo. Program.Main(String[] args) Location C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: строка номер 36 Грубо говоря, папка занята, пожалуйста, замените её, решение так:Закройте открытый Google Chrome и используйте папку User Data для программы «chrome-cookie-demo», которую мы написали。
Получите веб-куки
driver.manage().getCookies(); Вернуть список всех печений driver.manage().getCookieNamed(arg0); Вернуть конкретное печенье по названию driver.manage().addCookie(arg0); Создайте и добавьте печенье driver.manage().deleteCookie(arg0); Удалить конкретный куки driver.manage().deleteCookieNamed(arg0); Удалить конкретный куки по названию driver.manage().deleteAllCookies(); Удалить все cookie Документация:Вход по гиперссылке виден.
Мы тестируем, чтобы получить все веб-файлы cookie
Открытие,Вы можете прочитать информацию о файлах cookie на странице «HttpOnly», как показано на рисунке ниже:
Конечно, нужно преобразовать информацию из cookie в строку, затем смоделировать интерфейс отправки запроса и прикрепить метод преобразования в строку исходного кода.
Скачать исходный код:
Вход по гиперссылке виден.
(Конец)
|