Сбой тестирования с помощью chromedriver watir с Sec-Fetch-User в заголовках запросов - PullRequest
1 голос
/ 21 октября 2019

Я использую watir для тестирования внутреннего приложения. Тестирование недавно перестает работать.

Это упрощенные шаги теста:

require 'watir'
Selenium::WebDriver::Chrome.path = 'PATH_TO_CHROME_EXE'
browser = Watir::Browser.new :chrome, :options => {:options => {'useAutomationExtension' => false}}
URL = "TEST_URL"
browser.goto URL

После выполнения строки перехода браузеру не удалось перейти на страницу. При проверке сетевой активности, статус запроса отображается как отмененный. Я также заметил, что поле «Sec-Fetch-User» заполняется в заголовке:

Sec-Fetch-Mode: navigate
**Sec-Fetch-User: ?1**
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)         Chrome/77.0.3865.90 Safari/537.36

Если я напрямую введу тестовый URL-адрес в браузер, поле не заполняется и всплывающее окно входа в систему.

Это мои настройки:

jruby 9.2.5.0 (2.5.0) 2018-12-06 6d5a228 Java HotSpot(TM) 64-Bit Server VM 25.102-b14 on 1.8.0_102-b14 +jit [mswin32-x86_64]
Version 77.0.3865.90 (Official Build) (64-bit)
Watir 6.16.5
ChromeDriver 77.0.3865.40 (f484704e052e0b556f8030b65b953dce96503217-refs/branch-heads/3865@{#442})

Кто-нибудь сталкивался с подобной проблемой? Можно ли подавить заголовок?

Стив

1 Ответ

0 голосов
/ 08 ноября 2019

У меня точно такая же проблема, как у Sec-Fetch-User:? 1 .

Единственный способ загрузить нужную мне веб-страницу - это отключить хром-драйвер ииспользуйте вместо этого драйвер firefox. Firefox не отправлял эти заголовки.

Я думаю, что если вам действительно нужно использовать chromedriver и если вам нужно изменить заголовки, это использовать прокси, такой как https://github.com/lightbody/browsermob-proxy

...