我正在使用Selenium来测试我的基于Spring的Web应用程序。你能否在测试应用程序时建议绕过google reCAPTCHA的解决方案。
我正在此环境中运行自动化测试。因此,手动检查reCAPTCHA的“我不是机器人”是不可能的。
出于测试目的,我在以下位置给出的测试环境中使用测试密钥。
我使用Angular 5作为我的应用程序的前端。我正在使用ng-recaptcha库在ui中添加reCAPTCHA。
答案 0 :(得分:6)
我不知道您的确切代码,但您应该能够使用系统属性或某些标志来运行您的服务器,这些标志指示应该禁用reCaptcha并且不首先将其添加到表单中。
答案 1 :(得分:2)
您可以通过在reCAPTCHA中找到复选框的x和y坐标并单击该元素来完成此操作。
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();
答案 2 :(得分:0)
您应将驱动程序“切换”到iFrame,以准确找到reCaptcha的复选框。 命令:
WebElement iFrame = driver.findElement(By.xpath("xpath_of_reCaptcha_iFrame"));
driver.switchTo().frame(iFrame);
//现在可以立即单击reCaptcha的复选框。
WebElement iFrame_checkbox =
driver.findElement(By.xpath("xpath_of_reCaptcha_checkbox"));
iFrame_checkbox.click();
答案 3 :(得分:0)