如何使用量角器切换框架
How to switch frames using Protractor
我知道这个问题已被多次询问,建议的解决方案是使用 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 的样子
感谢任何帮助,对于问题的模糊描述,我深表歉意,但我对 coding/protractor e2e 测试还很陌生。
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);
browser.switchTo().activeElement();
或尝试使用其他可用方法
browser.switchTo().frame(element(by.tagName('iframe')).getWebElement());
我知道这个问题已被多次询问,建议的解决方案是使用 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 的样子
感谢任何帮助,对于问题的模糊描述,我深表歉意,但我对 coding/protractor e2e 测试还很陌生。
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);
browser.switchTo().activeElement();
或尝试使用其他可用方法
browser.switchTo().frame(element(by.tagName('iframe')).getWebElement());