Как обойти Google reCAPTCHA для тестирования с использованием Selenium

vivekkurien спросил: 28 апреля 2018 в 09:31 в: java

Я использую Selenium для тестирования моего веб-приложения на основе Spring. Можете ли вы предложить решение обойти google reCAPTCHA во время тестирования приложения.

Я запускаю тест автоматизации в этой среде. Таким образом, ручная проверка "Я не робот" reCAPTCHA не представляется возможным.

Для целей тестирования я использую тестовый ключ в своей тестовой среде, указанной ниже.

Google Ключ проверки reCAPTCHA

Я использую Angular 5 в качестве front-end моего приложения. Я использую библиотеку ng-recaptcha для добавления reCAPTCHA в ui.


2 ответа

Есть решение
Ido Ran ответил: 28 апреля 2018 в 09:51

Я не знаю вашего точного кода, но вы должны иметь возможность запускать свой сервер с системным свойством или некоторым флагом, который указывает, что reCaptcha должен быть отключен и не добавлять его в форму в первую очередь.

vivekkurien ответил: 28 апреля 2018 в 10:15
Это возможно, но требуется много изменений кода. Но я ищу простой способ решить эту проблему.
Ido Ran ответил: 28 апреля 2018 в 10:38
Вы должны быть осторожны, потому что то, что вы делаете, эффективно создает дыру в безопасности, которая позволяет обойти капчу, поэтому ее необходимо сделать таким образом, что это будет очень сложно сделать это случайно
Joby Wilson Mathews ответил: 01 мая 2018 в 09:08

Вы можете сделать это, найдя координаты x и y этого флажка в reCAPTCHA и щелкнув элемент.

WebElement captcha = driver.findElement(By.xpath("html/body/div[1]/div[3]/div[2]/form/div[5]/div"));
        builder.moveToElement(captcha, 50, 30).click().build().perform();