Protractor-elements-api
分度器-コアAPIS(続き…)
この章では、ProtractorのコアAPIをさらに学習しましょう。
Elements API
要素は、分度器によって公開されるグローバル関数の1つです。 この関数は、ロケータを取り、次を返します-
- ElementFinder。ロケーターに基づいて単一の要素を検索します。
- ElementArrayFinder。ロケーターに基づいて要素の配列を検索します。
上記の両方で、以下で説明するチェーン方式がサポートされています。
ElementArrayFinderの連鎖関数とその説明
以下はElementArrayFinderの機能です-
名前が示すように、この関数は要素の配列の浅いコピーを作成します。 ElementArrayFinder。
- element.all(locator).all(locator)*
この関数は基本的に、空または子要素を含む新しいElementArrayFinderを返します。 次のように、複数の要素を配列として選択するために使用できます
例
- element.all(locator).filter(filterFn)*
名前が示すように、ElementArrayFinder内の各要素にフィルター関数を適用した後、フィルター関数を渡すすべての要素を含む新しいElementArrayFinderを返します。 基本的に2つの引数があり、1つはElementFinderで、2つ目はインデックスです。 ページオブジェクトでも使用できます。
例
見ます
コード
- element.all(locator).get(index)*
これにより、インデックスによってElementArrayFinder内の要素を取得できます。 インデックスは0から始まり、負のインデックスがラップされることに注意してください。
例
見ます
コード
- element.all(locator).first()*
名前が示すように、これはElementArrayFinderの最初の要素を取得します。 基になる要素は取得しません。
例
見ます
コード
- element.all(locator).last()*
名前が示すように、これはElementArrayFinderの最後の要素を取得します。 基になる要素は取得しません。
例
見ます
コード
- element.all(locator).all(selector)*
$$への呼び出しが連鎖される可能性がある場合に、親内の要素の配列を見つけるために使用されます。
例
見ます
コード
- element.all(locator).count()*
名前が示すように、これはElementArrayFinderによって表される要素の数をカウントします。 基になる要素は取得しません。
例
見ます
コード
- element.all(locator).isPresent()*
ファインダーと要素を一致させます。 trueまたはfalseを返すことができます。 ファインダーに一致する要素が存在する場合はTrue、そうでない場合はFalse。
例
名前が示すように、最も関連性の高いロケーターを返します。
例
- element.all(locator).then(thenFunction)*
ElementArrayFinderで表される要素を取得します。
例
見ます
コード
- element.all(locator).each(eachFunction)*
名前が示すように、ElementArrayFinderによって表される各ElementFinderで入力関数を呼び出します。
例
見ます
コード
- element.all(locator).map(mapFunction)*
名前が示すように、ElementArrayFinder内の各要素にマップ関数を適用します。 2つの引数があります。 最初はElementFinderで、2番目はインデックスです。
例
見ます
コード
- element.all(locator).reduce(reduceFn)*
名前が示すように、アキュムレーターとロケーターを使用して見つかったすべての要素に対して、reduce関数を適用します。 この関数は、すべての要素を単一の値に削減します。
例
見ます
コード
名前が示すように、入力が現在の基本要素のスコープ内にあるかどうかを評価します。
例
見ます
コード
名前が示すように、現在の基本要素でアニメーションを許可するかどうかを決定します。
例
ElementFinderの連鎖機能とその説明
ElementFinderの連鎖機能とその説明-
名前が示すように、この関数はElementFinderの浅いコピーを作成します。
- element(locator).getWebElement()*
このElementFinderによって表されるWebElementを返し、要素が存在しない場合はWebDriverエラーがスローされます。
例
見ます
コード
- element(locator).all(locator)*
親内の要素の配列を検索します。
例
見ます
コード
- element(locator).element(locator)*
親内の要素を検索します。
例
見ます
コード
- element(locator).all(selector)*
$$への呼び出しが連鎖される可能性がある場合、親内の要素の配列を見つけます。
例
見ます
コード
- element(locator)。$(locator)*
$への呼び出しが連鎖される可能性がある場合、親内の要素を検索します。
例
見ます
コード
- element(locator).isPresent()*
要素がページに表示されるかどうかを決定します。
例
見ます
コード
- element(locator).isElementPresent()*
element(locator).isPresent()と同じです。 唯一の違いは、現在の要素ファインダーではなく、サブロケーターによって識別された要素が存在するかどうかをチェックすることです。
名前が示すように、入力が現在の基本要素のスコープ上にあるかどうかを評価します。
例
見ます
コード
名前が示すように、現在の基本要素でアニメーションを許可するかどうかを決定します。
例
名前が示すように、要素の同等性を比較します。
ロケーター(by)API
基本的に、バインディング、モデルなどによってAngularアプリケーションで要素を見つける方法を提供する要素ロケーター戦略のコレクションです。
関数とその説明
ProtractorLocators APIの機能は次のとおりです-
- by.addLocator(locatorName、fuctionOrScript)*
ProtrcatorByのこのインスタンスにロケーターを追加し、さらにelement(by.locatorName(args))で使用できます。
例
見ます
コード
名前が示すように、テキストバインディングによって要素を見つけます。 入力文字列を含む変数にバインドされた要素が返されるように、部分一致が行われます。
例
見ます
コード
名前が示すように、正確なバインディングによって要素を見つけます。
例
見ます
コード
- by.model(modelName)*
名前が示すように、ng-model式によって要素を見つけます。
例
見ます
コード
名前が示すように、テキストでボタンを見つけます。
例
見ます
コード
名前が示すように、部分的なテキストでボタンを見つけます。
例
見ます
コード
名前が示すように、ng-repeat内の要素を見つけます。
例
見ます
コード
名前が示すように、正確なリピーターによって要素を見つけます。
例
見ます
コード
名前が示すように、CSSによって、正確な文字列を含む要素を検索します
例
見ます
コード
- by.options(optionsDescriptor)*
名前が示すように、ng-options式によって要素を見つけます。
例
見ます
コード
- by.deepCSS(selector)*
名前が示すように、シャドウDOM内でCSSセレクターによって要素を見つけます。
例
見ます
コード