UNPKG

jspcom

Version:

TypeScript and JavaScript page component object framework for Selenium

776 lines 32.6 kB
import { __awaiter, __decorate, __metadata } from "tslib"; import { use as chaiUse, expect } from 'chai'; import chaiAsPromised from 'chai-as-promised'; import { assertHasProperty, assertIsObject } from 'primitive-predicates'; import { By, WebDriver, WebElement, error, } from 'selenium-webdriver'; import Sinon from 'sinon'; import { Component, IframePageComponent, Page, PageComponent } from './index.js'; chaiUse(chaiAsPromised); // Needed because the conflicts between @types/selenium-webdriver and selenium-webdriver prevent the import of the // actual one. class TargetLocatorPlaceholder { constructor() { } parentFrame() { return; } } describe('TargetLocatorPlaceholder', () => { it('returns nothing when parentFrame method is called', () => { const locator = new TargetLocatorPlaceholder(); expect(locator.parentFrame()).to.equal(undefined); }); }); class ChildComponent extends PageComponent { constructor() { super(...arguments); this.locator = By.id('child'); this.findFromParent = true; } } export class ParentComponent extends PageComponent { constructor() { super(...arguments); this.locator = By.id('parent'); } } __decorate([ Component(), __metadata("design:type", ChildComponent) ], ParentComponent.prototype, "childComponent", void 0); class PageOne extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageOne.prototype, "component", void 0); class PageTwo extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageTwo.prototype, "component", void 0); class PageThree extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageThree.prototype, "component", void 0); class PageFour extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageFour.prototype, "component", void 0); class PageFive extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageFive.prototype, "component", void 0); class PageSix extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageSix.prototype, "component", void 0); class PageSeven extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageSeven.prototype, "component", void 0); class PageEight extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageEight.prototype, "component", void 0); class PageNine extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageNine.prototype, "component", void 0); class PageTen extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageTen.prototype, "component", void 0); class PageEleven extends Page { } __decorate([ Component(), __metadata("design:type", ParentComponent) ], PageEleven.prototype, "component", void 0); class OtherComponent extends PageComponent { constructor() { super(...arguments); this.locator = By.id('child'); } } class PageTwelve extends Page { get conditions() { return [ () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isDisplayed(); }), () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isPresent(); }), ]; } } __decorate([ Component(), __metadata("design:type", OtherComponent) ], PageTwelve.prototype, "component", void 0); class PageThirteen extends Page { } __decorate([ Component(), __metadata("design:type", OtherComponent) ], PageThirteen.prototype, "component", void 0); class PageFourteen extends Page { constructor() { super(...arguments); this.timeout = 100; } get conditions() { return [ () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isDisplayed(); }), () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isPresent(); }), ]; } } __decorate([ Component(), __metadata("design:type", OtherComponent) ], PageFourteen.prototype, "component", void 0); class PageFifteen extends Page { get conditions() { return [ () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isDisplayed(); }), () => __awaiter(this, void 0, void 0, function* () { return yield this.component.isPresent(); }), ]; } } __decorate([ Component(), __metadata("design:type", OtherComponent) ], PageFifteen.prototype, "component", void 0); class IFComponent extends IframePageComponent { constructor() { super(...arguments); this.locator = By.id('child'); } } class PageSixteen extends Page { } __decorate([ Component(), __metadata("design:type", IFComponent) ], PageSixteen.prototype, "component", void 0); class PageSeventeen extends Page { } __decorate([ Component(), __metadata("design:type", IFComponent) ], PageSeventeen.prototype, "component", void 0); class PageEighteen extends Page { } __decorate([ Component(), __metadata("design:type", IFComponent) ], PageEighteen.prototype, "component", void 0); class PageNineteen extends Page { } __decorate([ Component(), __metadata("design:type", IFComponent) ], PageNineteen.prototype, "component", void 0); class PageTwenty extends Page { } __decorate([ Component(), __metadata("design:type", IFComponent) ], PageTwenty.prototype, "component", void 0); describe('Component', () => { describe('findFromParent', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let parentElementStub; let childElementStub; let page; let result; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); childElementStub = sandbox.createStubInstance(WebElement); parentElementStub = sandbox.createStubInstance(WebElement, { findElement: sandbox.stub().resolves(childElementStub), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageOne(driverStub); result = yield page.component.childComponent.getElement(); })); after(() => { sandbox.restore(); }); it('tries to find only 1 element through the driver directly', () => __awaiter(void 0, void 0, void 0, function* () { expect(driverStub.findElement.callCount).to.equal(1); })); it('uses the parent component as the refNode to find the child component', () => __awaiter(void 0, void 0, void 0, function* () { expect(result).to.equal(childElementStub); })); })); describe('locator', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); driverStub = sandbox.createStubInstance(WebDriver); page = new PageTwo(driverStub); const component = page.component; assertIsObject(component); assertHasProperty(component, 'locator'); delete component.locator; })); after(() => { sandbox.restore(); }); it('throws an error if there is no locator', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.component.getElement()).to.eventually.be.rejectedWith(Error); })); })); describe('isPresent', () => __awaiter(void 0, void 0, void 0, function* () { describe('Actually Present', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); driverStub = sandbox.createStubInstance(WebDriver); page = new PageThree(driverStub); })); after(() => { sandbox.restore(); }); it('returns true', () => __awaiter(void 0, void 0, void 0, function* () { expect(yield page.component.isPresent()).to.be.true; })); })); describe('Not Present', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().throws(new error.NoSuchElementError()), }); page = new PageFour(driverStub); })); after(() => { sandbox.restore(); }); it('returns false', () => __awaiter(void 0, void 0, void 0, function* () { expect(yield page.component.isPresent()).to.be.false; })); })); describe('Unrecognized Error', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let page; let err; before(() => __awaiter(void 0, void 0, void 0, function* () { err = new Error('unknown'); sandbox = Sinon.createSandbox(); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().throws(err), }); page = new PageFive(driverStub); })); after(() => { sandbox.restore(); }); it('should throw error', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.component.isPresent()).to.eventually.be.rejectedWith(err); })); })); })); describe('Method Proxies', () => { let sandbox; let driverStub; let parentElementStub; let page; before(() => { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { clear: sandbox.stub(), click: sandbox.stub(), getAttribute: sandbox.stub(), getCssValue: sandbox.stub(), getId: sandbox.stub(), getRect: sandbox.stub(), getTagName: sandbox.stub(), getText: sandbox.stub(), findElement: sandbox.stub(), findElements: sandbox.stub(), isDisplayed: sandbox.stub(), isEnabled: sandbox.stub(), isSelected: sandbox.stub(), sendKeys: sandbox.stub(), submit: sandbox.stub(), takeScreenshot: sandbox.stub(), getShadowRoot: sandbox.stub(), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageSix(driverStub); }); after(() => { sandbox.restore(); }); it('proxies clear', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.clear(); expect(driverStub.findElement.callCount).to.equal(1); expect(parentElementStub.clear.callCount).to.equal(1); })); it('proxies click', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.click(); expect(parentElementStub.click.callCount).to.equal(1); })); it('proxies findElement', () => __awaiter(void 0, void 0, void 0, function* () { const locator = By.id('test'); yield page.component.findElement(locator); expect(parentElementStub.findElement.callCount).to.equal(1); expect(parentElementStub.findElement.calledWithExactly(locator)).to.be.true; })); it('proxies findElements', () => __awaiter(void 0, void 0, void 0, function* () { const locator = By.id('test'); yield page.component.findElements(locator); expect(parentElementStub.findElements.callCount).to.equal(1); expect(parentElementStub.findElements.calledWithExactly(locator)).to.be.true; })); it('proxies getAttribute', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getAttribute('test'); expect(parentElementStub.getAttribute.callCount).to.equal(1); expect(parentElementStub.getAttribute.calledWithExactly('test')).to.be.true; })); it('proxies getCssValue', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getCssValue('test'); expect(parentElementStub.getCssValue.callCount).to.equal(1); expect(parentElementStub.getCssValue.calledWithExactly('test')).to.be.true; })); it('proxies getId', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getId(); expect(parentElementStub.getId.callCount).to.equal(1); })); it('proxies getRect', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getRect(); expect(parentElementStub.getRect.callCount).to.equal(1); })); it('proxies getTagName', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getTagName(); expect(parentElementStub.getTagName.callCount).to.equal(1); })); it('proxies getText', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getText(); expect(parentElementStub.getText.callCount).to.equal(1); })); it('proxies isDisplayed', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.isDisplayed(); expect(parentElementStub.isDisplayed.callCount).to.equal(1); })); it('proxies isEnabled', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.isEnabled(); expect(parentElementStub.isEnabled.callCount).to.equal(1); })); it('proxies isSelected', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.isSelected(); expect(parentElementStub.isSelected.callCount).to.equal(1); })); it('proxies sendKeys', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.sendKeys(); expect(parentElementStub.sendKeys.callCount).to.equal(1); })); it('proxies submit', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.submit(); expect(parentElementStub.submit.callCount).to.equal(1); })); it('proxies takeScreenshot', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.takeScreenshot(); expect(parentElementStub.takeScreenshot.callCount).to.equal(1); })); it('proxies getShadowRoot', () => __awaiter(void 0, void 0, void 0, function* () { yield page.component.getShadowRoot(); expect(parentElementStub.getShadowRoot.callCount).to.equal(1); })); }); describe('Switching to parent frame context', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); driverStub = sandbox.createStubInstance(WebDriver, { switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageSeven(driverStub); yield page.component.switchToParentFrame(); })); after(() => { sandbox.restore(); }); it('should call driver methods', () => { expect(driverStub.switchTo.callCount).to.equal(1); expect(targetLocatorStub.parentFrame.callCount).to.equal(1); }); })); describe('Staleness', () => __awaiter(void 0, void 0, void 0, function* () { describe('No cache', () => { let sandbox; let driverStub; let page; before(() => { sandbox = Sinon.createSandbox(); driverStub = sandbox.createStubInstance(WebDriver, {}); page = new PageEight(driverStub); }); after(() => { sandbox.restore(); }); it('throws error when checking staleness of cache', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.component.cacheHasGoneStale()).to.eventually.be.rejectedWith(Error); })); }); describe('With cache', () => { let sandbox; let parentElementStub; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { getTagName: sandbox.stub().resolves('thing'), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageNine(driverStub); yield page.component.cacheElementForStalenessCheck(); })); after(() => { sandbox.restore(); }); it('returns false when checking staleness of cache', () => __awaiter(void 0, void 0, void 0, function* () { expect(yield page.component.cacheHasGoneStale()).to.be.false; })); }); describe('With cache, but it is stale', () => { let sandbox; let parentElementStub; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { getTagName: sandbox.stub().throws(new error.StaleElementReferenceError()), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageTen(driverStub); yield page.component.cacheElementForStalenessCheck(); })); after(() => { sandbox.restore(); }); it('returns false when checking staleness of cache', () => __awaiter(void 0, void 0, void 0, function* () { expect(yield page.component.cacheHasGoneStale()).to.be.true; })); }); describe('With cache, but another error occurs', () => { let sandbox; let parentElementStub; let driverStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { getTagName: sandbox.stub().throws(new Error('unkown')), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageEleven(driverStub); yield page.component.cacheElementForStalenessCheck(); })); after(() => { sandbox.restore(); }); it('returns false when checking staleness of cache', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.component.cacheHasGoneStale()).to.eventually.be.rejectedWith(Error); })); }); })); describe('Conditions', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let parentElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { isDisplayed: sandbox.stub().onCall(0).resolves(false).onCall(1).resolves(true), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageTwelve(driverStub); yield page.loaded; })); after(() => { sandbox.restore(); }); it('tries to pass conditions to wait', () => __awaiter(void 0, void 0, void 0, function* () { expect(parentElementStub.isDisplayed.callCount).to.equal(2); expect(driverStub.findElement.callCount).to.equal(3); })); })); describe('Conditions (default)', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let parentElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { isDisplayed: sandbox.stub().onCall(0).resolves(false).onCall(1).resolves(true), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageThirteen(driverStub); yield page.loaded; })); after(() => { sandbox.restore(); }); it('tries to pass conditions to wait', () => __awaiter(void 0, void 0, void 0, function* () { expect(parentElementStub.isDisplayed.callCount).to.equal(0); expect(driverStub.findElement.callCount).to.equal(0); })); })); describe('Conditions (timeout)', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let parentElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { isDisplayed: sandbox.stub().onCall(0).resolves(false).onCall(1).resolves(false).onCall(2).resolves(false).onCall(3).resolves(true), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageFourteen(driverStub); })); after(() => { sandbox.restore(); }); it('will timeout', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.loaded).to.eventually.be.rejected; })); })); describe('Conditions (error)', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let parentElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); parentElementStub = sandbox.createStubInstance(WebElement, { isDisplayed: sandbox.stub().onCall(0).resolves(false).onCall(1).throws(new Error("Unknown")), }); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(parentElementStub), }); page = new PageFifteen(driverStub); })); after(() => { sandbox.restore(); }); it('will timeout', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.loaded).to.eventually.be.rejected; })); })); describe("Iframe Component", () => { describe('Switching to frame', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let frameElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); frameElementStub = sandbox.createStubInstance(WebElement); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); targetLocatorStub.frame = sandbox.stub(); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(frameElementStub), switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageSixteen(driverStub); yield page.component.switchTo(); })); after(() => { sandbox.restore(); }); it('pass the element to the frame method of the TargetLocator', () => { expect(driverStub.switchTo.callCount).to.equal(1); expect(targetLocatorStub.frame.calledOnceWith(frameElementStub)).to.be.true; }); })); describe('Frame is ready', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let frameElementStub; let page; let result; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); frameElementStub = sandbox.createStubInstance(WebElement); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); targetLocatorStub.frame = sandbox.stub(); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(frameElementStub), switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageSeventeen(driverStub); result = yield page.component.iFrameIsReady(); })); after(() => { sandbox.restore(); }); it('pass the element to the frame method of the TargetLocator', () => { expect(result).to.be.true; expect(driverStub.switchTo.callCount).to.equal(2); expect(targetLocatorStub.frame.calledOnceWith(frameElementStub)).to.be.true; expect(targetLocatorStub.parentFrame.callCount).to.equal(1); }); })); describe('Frame is not frame', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let frameElementStub; let page; let result; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); frameElementStub = sandbox.createStubInstance(WebElement); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); targetLocatorStub.frame = sandbox.stub().throws(new error.NoSuchFrameError("no such frame")); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(frameElementStub), switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageEighteen(driverStub); result = yield page.component.iFrameIsReady(); })); after(() => { sandbox.restore(); }); it('pass the element to the frame method of the TargetLocator', () => { expect(result).to.be.false; expect(driverStub.switchTo.callCount).to.equal(1); expect(targetLocatorStub.frame.calledOnceWith(frameElementStub)).to.be.true; expect(targetLocatorStub.parentFrame.callCount).to.equal(0); }); })); describe('Frame has unknown error', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let frameElementStub; let page; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); frameElementStub = sandbox.createStubInstance(WebElement); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); targetLocatorStub.frame = sandbox.stub().throws(new Error("Unknown")); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().resolves(frameElementStub), switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageNineteen(driverStub); })); after(() => { sandbox.restore(); }); it('pass the element to the frame method of the TargetLocator', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(page.component.iFrameIsReady()).to.eventually.be.rejected; expect(driverStub.switchTo.callCount).to.equal(1); expect(targetLocatorStub.frame.calledOnceWith(frameElementStub)).to.be.true; expect(targetLocatorStub.parentFrame.callCount).to.equal(0); })); })); describe('Frame is not present', () => __awaiter(void 0, void 0, void 0, function* () { let sandbox; let driverStub; let targetLocatorStub; let page; let result; before(() => __awaiter(void 0, void 0, void 0, function* () { sandbox = Sinon.createSandbox(); targetLocatorStub = sandbox.createStubInstance(TargetLocatorPlaceholder, { parentFrame: sandbox.stub(), }); targetLocatorStub.frame = sandbox.stub(); driverStub = sandbox.createStubInstance(WebDriver, { findElement: sandbox.stub().throws(new error.NoSuchElementError("no such element")), switchTo: sandbox.stub().returns(targetLocatorStub), }); page = new PageTwenty(driverStub); result = yield page.component.iFrameIsReady(); })); after(() => { sandbox.restore(); }); it('pass the element to the frame method of the TargetLocator', () => { expect(result).to.be.false; expect(driverStub.switchTo.callCount).to.equal(0); expect(targetLocatorStub.frame.callCount).to.equal(0); expect(targetLocatorStub.parentFrame.callCount).to.equal(0); }); })); }); }); //# sourceMappingURL=component.spec.js.map