У меня есть тестовый код вроде этого:транспортир не работает после того, как IFRAME был закрыт
describe('fancybox directive ', function() {
var ptor;
it('is fancybox click event', function() {
var fancyContent="<p>Hello</p>";
var fancyWebsite="http://www.somewebsite.com/";
ptor=protractor.getInstance();
element(by.model('content')).clear();
element(by.model('content')).sendKeys(fancyContent);
browser.actions().click(element.all(by.tagName('button')).get(0)).perform();
ptor.sleep(2000);
browser.actions().click(element(by.css('[title="Close"]'))).perform();
ptor.sleep(2000);
element(by.model('content')).clear();
element(by.model('content')).sendKeys(fancyWebside);
browser.actions().click(element.all(by.tagName('button')).get(2)).perform();
ptor.sleep(2000);
driver = ptor.driver;
driver.switchTo().frame(driver.findElement(protractor.By.css('[title="Close"]')).click());
element(by.model('content')).clear();
element(by.model('content')).sendKeys(fancyInline);
...
});
});
после включения драйвера в IFrame и нажмите на кнопку «закрыть», транспортир не продолжает работать «ясно() "и" sendKeys() ". я пытаюсь добавить
driver.switchTo().defaultContent();
или driver.switchTo().window(handles[0]);
перед тем element(by.model('content')).clear();
он перестанет работать тоже.
Abuot несколько секунд проходит, он продолжать работать, чтобы сделать другие директивные тесты (я тестирую около пяти директивы), , но я не могу понять, почему он SOPT работать после перехода на IFRAME,
кстати, Я получил сообщение об ошибке:
Error: Timed out waiting for Protractor to synchronize with the page after 11 seconds.
есть что-то не так? ответ на этот вопрос
driver.switchTo(). Frame (driver.findElement (protractor.By.css ('[title = "Закрыть"]')). Click()); Эта строка кажется неисправной. Вы должны указать id iframe в driver.switchTo(). Frame() –
ах..и кажется, сработал. Я знаю, что это выглядит странно, но он просто может нажать правую кнопку. – Kiry
Он работает даже после удаления переключателяToiframe ?? –