Чтобы проверить приложение, содержащее reCaptcha, я написал простую функцию, подобную этой:
it('And I validate the captcha.', function () {
registration.clickOnCaptcha();
});
clickOnCaptcha () выглядит так:
this.clickOnCaptcha = function() {
// Switch to the iFrame where the captcha is
browser.driver.switchTo().frame(0);
// Disable waitForAngular since the iFrame is not in Angular
browser.waitForAngularEnabled(false);
browser.element(by.id('recaptcha-anchor')).click();
// Dirty way to allow Captcha animation to finish
browser.sleep('3000');
// Enable waitForAngular before going back to the main frame
browser.waitForAngularEnabled(true);
// Switch back to the main frame
browser.switchTo().defaultContent();
};
Я хотелчтобы узнать, нашли ли некоторые из вас лучший способ сделать это?
Кроме того, мне интересно, если лучший способ отключить функцию waitForAngular - это сделать это до или после переключения на iFrame.
Большое спасибо.