我知道这已经多次被问到,建议的解决方案是使用类似browser.driver.switchTo('your-frame-name')的东西,但我似乎无法在代码中访问相同的switchTo()方法。
这是我的考验:
import { AppPage } from './app.po';
import {browser, by, element} from 'protractor';
describe('angular-test App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display welcome message', () => {
page.navigateTo();
browser.driver.switchToParentFrame()
//expect(page.getParagraphText()).toEqual('Welcome to app!');
expect(element(by.id('myHeader')).getText()).toEqual('Welcome to Angular Test App! ');
});
});switchToParentFrame()是我在browser.driver之后得到的唯一可用方法。
这就是我的HTML的样子

任何帮助都是被认可的,对于这个问题的模糊描述很抱歉,但是我对编码/量角器e2e测试还是很陌生的。
发布于 2018-01-17 21:24:40
browser.switchTo().frame(element(by.tagName('iframe')).getWebElement());发布于 2017-12-04 06:38:51
var elem = element(by.xpath('iframe element')); // .//div[contains(@id,\'cke\')]/iframe
browser.sleep(3000);
elem.click();
browser.switchTo().frame(elem.getWebElement());
browser.sleep(3000);
element(by.tagName('body')).sendKeys('test');
browser.switchTo().defaultContent();
browser.sleep(3000);发布于 2017-12-04 21:50:16
browser.switchTo().activeElement();或者尝试尝试其他可用的方法
https://stackoverflow.com/questions/47584051
复制相似问题