Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.04.2022
Сообщений: 2

Не открывает домен при запуске автотеста в headless режиме

11.07.2022, 10:55. Показов 1388. Ответов 0

Студворк — интернет-сервис помощи студентам
написал класс для тестирования авторизации через одноклассники на java (17) + testng (7.6.0) + selenium (4.3.0):

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.testng.annotations.Test;
    
    public class ChromeOK extends OKTest {
    
        public void chromeOKTest() throws InterruptedException {
    
            ChromeOptions options = new ChromeOptions();
            options.setHeadless(true);
            options.setAcceptInsecureCerts(true);
            //options.setCapability("acceptInsecureCerts", true);
            WebDriver driverChrome = new ChromeDriver(options);
            run(driverChrome);
        }
    
    }
наследуемый от класса OKTest, содержащий метод run():

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//xpath'ы кнопок
 
    ...
    
        public void run(WebDriver driver) throws InterruptedException {
            driver.get("https://ezochat.com");
            sleep(5000);
            //driver.findElement(btnReject).click();
            driver.findElement(btnLogIn).click();
            sleep(10000);
            driver.findElement(btnOK).click();
            sleep(10000);
            driver.findElement(inputOKPhone).sendKeys(okPhone);
            driver.findElement(inputOKPassword).sendKeys(okPass);
            sleep(2000);
            driver.findElement(btnJoinOK).click();
            sleep(10000);
            try {
                if (driver.findElements(btnDeposit).isEmpty()) throw new InterruptedException("Ошибка авторизации через ОК");
            } catch (InterruptedException e) {
                driver.quit();
                System.err.println("Ошибка авторизации через ОК");
                System.exit(1);
            }
            driver.quit();
        }
не в безголовом режиме тест отрабатывает нормально, но когда подрубаю headless запуск, возникает ошибка на этапе открытия домена (первая же строка в методе run(): driver.get("https://ezochat.com")).

в консоли выдает следующее:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
INFO: Found exact CDP implementation for version 103
    
    org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException
    Build info: version: '4.3.0', revision: 'a4995e2c09*'
    System info: host: 'YAROSLAV', ip: '192.168.0.106', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '17.0.3'
    Driver info: org.openqa.selenium.chrome.ChromeDriver
    Command: [9630c7c8a9fa207edfd40b72d669c654, get {url=https://ezochat.com/}]
    Capabilities {acceptInsecureCerts: true, browserName: chrome, browserVersion: 103.0.5060.114, chrome: {chromedriverVersion: 103.0.5060.53 (a1711811edd7..., userDataDir: C:\Users\SMM-MA~1\AppData\L...}, goog:chromeOptions: {debuggerAddress: localhost:59380}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: WINDOWS, proxy: Proxy(), se:cdp: ws://localhost:59380/devtoo..., se:cdpVersion: 103.0.5060.114, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}
    Session ID: 9630c7c8a9fa207edfd40b72d669c654
    
        at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:65)
        at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
        at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
        at org.openqa.selenium.remote.http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:49)
        at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
        at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
        at org.openqa.selenium.remote.http.netty.NettyClient.execute(NettyClient.java:98)
        at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:181)
        at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
        at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:569)
        at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:332)
        at OKTest.run(OKTest.java:25)
        at ChromeOK.chromeOKTest(ChromeOK.java:18)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
        at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677)
        at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)
        at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
        at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:962)
        at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)
        at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)
        at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.testng.TestRunner.privateRun(TestRunner.java:806)
        at org.testng.TestRunner.run(TestRunner.java:601)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:433)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:427)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:387)
        at org.testng.SuiteRunner.run(SuiteRunner.java:330)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
        at org.testng.TestNG.runSuites(TestNG.java:1099)
        at org.testng.TestNG.run(TestNG.java:1067)
        at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
        at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
    Caused by: java.util.concurrent.TimeoutException
        at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
        at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
        at org.asynchttpclient.netty.NettyResponseFuture.get(NettyResponseFuture.java:206)
        at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:59)
        ... 40 more
порылся в интернетах, по своей проблеме не нашел ничего, чаще всего проблема заключается в несовместимости версии браузера и драйвера - у меня с этим все в порядке. пробовал запускать и с следующими спецификациями:

Java
1
  options.addArguments("--headless", "--disable-gpu", "--ignore-certificate-errors","--disable-extensions","--no-sandbox","--disable-dev-shm-usage");
и options.setCapability("acceptInsecureCer ts", true); указывал, не помогает ничего.

в консоли пишет networkConnectionEnabled: false, возможно проблема связана с этим. во всяком случае, по этому поводу тоже ничего дельного не нашел.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.07.2022, 10:55
Ответы с готовыми решениями:

Ошибка при запуске автотеста .toBeNull()
Задана функция getMarketingPrice export function getMarketingPrice(product) { const productObject = JSON.parse(product); const...

Selenium | Не нажимаются кнопки в режиме headless
Всем привет Пишу бота для Spotify. Может кто-нибудь сталкивался с проблемой, когда в обычном режиме Selenium нажимает на все...

Selenium chromedriver выдает критическую ошибку в headless режиме
Без headless все работает без ошибок. Как только добавлю --headless, вылетает критическая ошибка: Exception in thread Thread0: ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.07.2022, 10:55
Помогаю со студенческими работами здесь

Ошибка 0x0000007E при запуске Windows XP в обычном режиме и ошибка 0x0000007B — в безопасном режиме
При включении компьютера происходила загрузка Windows и потом он резко начинал перезагружаться. Подключив жесткий диск к другому ПК, я...

При запуске открывает pagego.ru/
При запуске браузера Google Chrome вместо страница указанной в настройках браузера, выскакивает сайт pagego.ru/?from=cru1. До этого браузер...

Авторизация пользователя при запуске приложения. Домен
Добрый день, есть такой вопрос, нужно организовать такую штуку: Пользователь запускает программу, она выдает окно с запросом логина и...

При запуске googlechrome открывает pagego.ru
Здравствуйте! Помогите,пожалуйста! Распаковала скачанный архив и начались проблемы: новые ярлыки на рабочем столе( почистила с помощью...

При запуске открывает gangnamgame.net
Когда запускается винда, сразу открываетсся Google Chrome с сайтом gangnamgame.net ... Помогите избавиться ПЛИЗ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru