Selenium navigate (). To () застрял без ошибок - PullRequest
0 голосов
/ 18 февраля 2020

Я запускаю тесты с использованием TestNG, хрома и селена, в Java, на двух машинах:

  • мой собственный ноутбук
  • Ма c Mini У меня нет у меня есть физический доступ, к которому я подключаюсь через S SH, который имеет ту же структуру проекта, что и проект на моем ноутбуке.

Обе машины работают за одним и тем же корпоративным прокси.

Проблема, с которой я сталкиваюсь, заключается в следующем:

  • , когда тесты на моем компьютере проходят гладко, когда я выполняю команду для их запуска на Ma c Mini, выполнение останавливается при сообщении Selenium WebDriver для навигации по любому указанному URL с использованием driver.navigate().to(url) или driver.get(url); вызывая зависание программы без каких-либо исключений, по существу оставаясь на удержании.

Код напоминает следующее:

  • в драйвере @BeforeClass beforeClass () инициализируется экземпляром ChromeDriver с использованием ChromeOptions. Среди других настроек я добавляю следующие аргументы в ChromeOptions, такие как chromeOptions.addArguments(options): где options - это такие вещи, как --disable-web-security, --allow-running-insecure-content, --allow-insecure-localhost и , что наиболее важно: --proxy-server=address:port (например, --proxy-server = 172.26 .44.146: 3128).

  • в @BeforeMethod beforeMethod () после проверки, что драйвер не null и что URL-адрес является допустимым, я выполняю что-то похожее на следующий стилизованный код:

try {
        log.debug("Navigating to: " + url);
        driver.navigate().to(url);
        log.debug("Navigated to url: " + driver.getCurrentUrl());

} catch (Exception e) {
        log.error("Unable to navigate at page: " + url.toString());
        throw e;
} 

Как я уже говорил, при запуске теста на Ma c Mini через S SH с использованием командной строки аналогично: java -cp WORKSPACE org.testng.TestNG testng.xml код прекращает выполнение и останавливается на log.debug("Navigating to: " + url);, по существу не производя другой вывод и вынуждая меня вручную остановить выполнение теста.

В качестве дополнительной информации, тесты выполняются с использованием хромовой версии 72.0.3609.0. ChromeOptions также получает следующий параметр прокси-сервера (например, chromeOptions.setProxy(p);), где p - это Proxy с

p.setProxyType(ProxyType.MANUAL);
p.setAutodetect(false);

Я подозреваю, что проблема с прокси-сервером (и я сомневаюсь, что я правильно предварительно настроил программу ), но, честно говоря, я озадачен тем фактом, что тот же самый скрипт запускается локально на моей машине и не может запускаться локально на Ma c Mini, когда тесты запускаются через S SH.

...