我正在尝试测试我的应用程序,并且在注册表单中有一个e2e测试用例的注册页面和一个Google Recaptcha。
我尝试使用以下代码绕过Google Recaptcha代码:
browser.switchTo().frame(0).then(function () {
console.log("Inside iFrame ");
var checkbox = $(".recaptcha-checkbox-checkmark");
browser.sleep(5000);
console.log("var checkbox defined.");
// first hover the checkbox
browser.actions().mouseMove(checkbox).perform();
browser.sleep(5000);
console.log("Moved mouse to hover on checkbox");
// hardcoded delay
browser.sleep(500);
browser.sleep(5000);
console.log("Browser sleep completed.");
// okat, now click - TODO: may be we should click with browser.actions().click() and provide the x, y coordinates for where to click
checkbox.click();
browser.sleep(5000);
console.log("clicked checkbox.");
});
我从问题here中获得了这段代码。
但是,使用此代码会产生以下错误:
失败:等待量角器与页面同步时出错:window.angular未定义。这可能是因为这是一个非角度的页面,或者是因为您的测试涉及客户端导航,这可能会干扰量角器的自举。有关详细信息,请参见https://github.com/angular/protractor/issues/2643。
此外,我放入了调试控制台日志,尽管它们成功打印,但仍然出现错误。