UNPKG

@luminati-io/webdriverio8

Version:

Next-gen browser and mobile automation test framework for Node.js

55 lines (52 loc) 3.04 kB
import { validateUrl } from '../../utils/index.js'; /** * * Protocol binding to load the URL of the browser. If a baseUrl is * specified in the config, it will be prepended to the url parameter using * node's url.resolve() method. Calling `browser.url('...')` with the same url as last * time will trigger a page reload. * * <example> :url.js // navigate to a new URL await browser.url('https://webdriver.io'); // receive url console.log(await browser.getUrl()); // outputs: "https://webdriver.io" :baseUrlResolutions.js // With a base URL of http://example.com/site, the following url parameters resolve as such: // When providing a scheme: // https://webdriver.io await browser.url('https://webdriver.io'); // When not starting with a slash, the URL resolves relative to the baseUrl // http://example.com/site/relative await browser.url('relative'); // When starting with a slash, the URL resolves relative to the root path of the baseUrl // http://example.com/rootRelative await browser.url('/rootRelative'); * </example> * * @param {String=} url the URL to navigate to * * @see https://w3c.github.io/webdriver/webdriver-spec.html#dfn-get * @see https://nodejs.org/api/url.html#url_url_resolve_from_to * @type protocol * */ export async function url(path) { if (typeof path !== 'string') { throw new Error('Parameter for "url" command needs to be type of string'); } if (typeof this.options.baseUrl === 'string' && this.options.baseUrl) { path = (new URL(path, this.options.baseUrl)).href; } if (this.isBidi) { const context = await this.getWindowHandle(); const res = await this.browsingContextNavigate({ context, url: path }); return res.url; } return this.navigateTo(validateUrl(path)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Jyb3dzZXIvdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLEdBQUcsQ0FFckIsSUFBWTtJQUVaLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkUsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDckQsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDNUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUM7WUFDM0MsT0FBTztZQUNQLEdBQUcsRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFBO1FBQ0YsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDN0MsQ0FBQyJ9