UNPKG

@openfin/automation-helpers

Version:

Helper methods for automation testing in the OpenFin ecosystem

81 lines (55 loc) 2.46 kB
# Automation Helpers This package contains helper methods which can be use in automation testing to interact with the OpenFin ecosystem. They should be used in a test runner that has webdriver capabilities e.g. [@openfin/automation-cli](https://www.npmjs.com/package/@openfin/automation-cli) ## Installation Run `npm i @openfin/automation-helpers`. ## Code examples These examples use `chai` as the testing framework, but you can choose any framework you like. ### Access the OpenFin system runtime ```typescript import { expect } from "chai"; import { OpenFinProxy, WebDriver } from "@openfin/automation-helpers"; describe('Test Suite', () => { it('The runtime version should be set', async () => { const fin = await OpenFinProxy.fin(); const runtimeVersion = await fin.System.getVersion(); expect(runtimeVersion).to.equal('26.102.70.16'); }); }); ``` ### Search for a value in the Home component ```typescript import { expect } from "chai"; import { OpenFinHome } from "@openfin/automation-helpers"; describe('Test Suite', () => { it('Can search in the Home component', async () => { await OpenFinHome.search("basic"); await WebDriver.sleep(1000); const ids = await OpenFinHome.searchResultIds(); expect(ids.length).equal(2); expect(ids[0]).equal("basic-interop-view"); expect(ids[1]).equal("basic-fdc3-view"); }); }); ``` ### Use WebDriver command to interact with a window ```typescript import { expect } from "chai"; import { WebDriver } from "@openfin/automation-helpers"; describe('Test Suite', () => { it('Can perform operation in the interop window', async () => { await WebDriver.switchToWindow("title", "Interop Instrument Selection"); const elem = await WebDriver.findElementByPath("//h1"); await elem.setHTML("My New Title"); const elem2 = await WebDriver.findElementByPath("//h1"); const value = await elem2.getHTML(); expect(value).eq("My New Title"); await WebDriver.sleep(2000); }); }); ``` ## OpenFin Debugging For more information on debugging in OpenFin see [https://developers.openfin.co/of-docs/docs/debugging](https://developers.openfin.co/of-docs/docs/debugging) ## Related Packages - [@openfin/automation-cli](https://www.npmjs.com/package/@openfin/automation-cli) - [@openfin/automation-native](https://www.npmjs.com/package/@openfin/automation-native)