テストに分度器を使用していますが、テストコードには次のようなコードが含まれています。
var topic = this;
topic.topicName = element(by.id('topicName'));
topic.topicVersion = element(by.id('topicVersion'));
.....
.....
topic.description = element(by.id('description'));
topic.topicHeader = element(by.id('topicHeader'));
topic.topicFooter = element(by.id('topicFooter'));
この関数を使用してforEachを使用することで、このコーディングを簡略化できることが提案されました。
['topicName', 'topicVersion', ...].forEach(function(k){
topic[k] = element(by.id(k));
});
これははるかにきれいに見えますが、これをさらに自動化して、どういうわけかすべてのIDを収集するコードを次の中に入れることができるかどうか疑問に思います<div id="adminTopicPage">
。
xpathまたは同様のものを使用して、この内部のIDの収集を自動化し、ID<div>
を持つすべての要素をオブジェクトのプロパティとして割り当てることは可能ですか?
はい、できます。私はjavascriptについてあまり知識がありませんが、以下のようなアプローチを提案します
1-divelementからすべての要素を取得できます
E.g.:
topic.divAdminTopicPage = element(by.id('adminTopicPage'));
topic.divAdminTopicPageChild1 = topic.divAdminTopicPage.findElement(By.locator);
2-次に、それらをキー=>値としてオブジェクトにフェッチできます
それがあなたを助けることができることを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加