url
url
コマンドは、ブラウザにURLを読み込みます。 baseUrl が設定ファイルで指定されている場合、node の url.resolve() メソッドを使用して、url パラメータの先頭に付加されます。前回と同じ url を使用して browser.url('...')
を呼び出すと、ページが再読み込みされます。
このコマンドは、ページ読み込みのリクエストとレスポンスデータに関する情報を含むWebdriverIO.Request
オブジェクトを返します。
このコマンドは以下のオプションをサポートしています
wait
コマンドを終了する前に、リクエストされたリソースがどのような状態になるべきかを指定します。以下の状態をサポートしています。
none
: ページリクエストが行われ、レスポンスが受信された後、待機しません。interactive
: ページがインタラクティブになるまで待機します。complete
: ページのDOMツリーが完全に読み込まれるまで待機します。networkIdle
: ネットワークリクエストが保留されていないまで待機します。
headers
リクエストとともに送信されるヘッダー。
デフォルト: {}
auth
基本認証の資格情報。注: これは、headers
オプションでAuthorization
ヘッダーが提供されている場合、それを上書きします。
timeout
数値に設定されている場合、コマンドはページがすべてのレスポンスを読み込むまで、指定されたミリ秒数待機してから返します。
注: これに効果を持たせるには、wait
オプションをnetworkIdle
に設定する必要があります。
デフォルト: 5000
使用方法
browser.url(url, options)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
url オプション | 文字列 | 移動先のURL |
options オプション | UrlOptions | ナビゲーションオプション |
例
url.js
// navigate to a new URL
const request = await browser.url('https://webdriverio.dokyumento.jp');
// log url
console.log(request.url); // outputs: "https://webdriverio.dokyumento.jp"
baseUrlResolutions.js
// With a base URL of http://example.com/site, the following url parameters resolve as such:
// When providing a scheme:
// https://webdriverio.dokyumento.jp
await browser.url('https://webdriverio.dokyumento.jp');
// 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');
basicAuth.js
// navigate to a URL with basic authentication
await browser.url('https://the-internet.herokuapp.com/basic_auth', {
auth: {
user
pass
}
});
await expect($('p=Congratulations! You must have the proper credentials.').toBeDisplayed();
onBeforeLoad.js
// navigate to a URL and mock the battery API
await browser.url('https://pazguille.github.io/demo-battery-api/', {
onBeforeLoad (win) {
// mock "navigator.battery" property
// returning mock charge object
win.navigator.getBattery = () => Promise.resolve({
level: 0.5,
charging: false,
chargingTime: Infinity,
dischargingTime: 3600, // seconds
})
}
})
// now we can assert actual text - we are charged at 50%
await expect($('.battery-percentage')).toHaveText('50%')
// and has enough juice for 1 hour
await expect($('.battery-remaining')).toHaveText('01:00)