$
$
コマンドは、ページ上の単一要素を取得するための短くて便利な方法です。
セレクタとしてオブジェクトを渡すこともできます。このオブジェクトには、要素への参照の値を持つelement-6066-11e4-a52e-4f735466cecf
プロパティが含まれています。コマンドは、その参照を拡張されたWebdriverIO要素に変換します。
注:$
と$$
コマンドをチェーンするのは、複数のセレクタ戦略を使用する場合にのみ意味があります。それ以外の場合は、テストの速度を低下させる不要なリクエストが発生します(例:$('body').$('div')
は2つのリクエストをトリガーしますが、$('body div')
は1つのリクエストでまったく同じことを行います)。
注:これらの要素オブジェクトは、isExisting
コマンドなどを使用して、ページ上にまだ存在することが確実な場合にのみ使用してください。WebdriverIOは、セレクタ情報がないため、それらを再取得できません。
wdioテストランナーを使用する場合、このコマンドはグローバル変数です。詳細については、グローバル変数を参照してください。スタンドアロンのスクリプト内でWebdriverIOを使用する場合、代わりにブラウザオブジェクトに配置されます(例:browser.$$
)。
await
で個々のコマンドをラップせずに、$
または$$
をチェーンしてDOMツリーをたどることができます。例:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
情報
特定の要素の選択方法の詳細については、セレクタガイドを参照してください。
使用方法
browser.$(selector)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
selector | 文字列 、関数 、Matcher | 特定の要素を取得するためのセレクタ、JS関数、またはMatcherオブジェクト |
例
example.html
loading...
singleElements.js
loading...
singleElements.js
loading...
singleElements.js
loading...
$.js
it('should use Androids DataMatcher or ViewMatcher selector', async () => {
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"],
"class": "androidx.test.espresso.matcher.ViewMatchers"
});
await menuItem.click();
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"]
});
await menuItem.click();
});