2016-07-14 30 views
4

でカスタムロケータのショートカットの追加、CSSのセレクタの$ and $$ convenient shortcutsがあります分度器で分度器

$(".myclass") // means: element(by.css(".myclass")) 
$$(".myclass") // means: element.all(by.css(".myclass")) 

はそれがすることが可能であるが、カスタムショートカット他のロケータに対してをご紹介しますか!


は、我々が $r$$rショートカットを持つようにしたい場合は、「リピータで」と呼んでいるもの、具体的には。 、ショートカットを作成するには、グローバル名前空間にし、 ElementFinderElementArrayFinderのプロトタイプでカスタムロケータを追加するには

element(by.repeater("item in items")) 
element.all(by.repeater("item in items")) 

答えて

4

global.$r = function(selector) { 
    return protractor.element(protractor.by.repeater(selector)); 
}; 

global.$$r = function(selector) { 
    return protractor.element.all(protractor.by.repeater(selector)); 
}; 

ElementFinder.prototype.$$r = function(selector) { 
    return this.all(protractor.by.repeater(selector)); 
}; 

ElementFinder.prototype.$r = function(selector) { 
    return this.element(protractor.by.repeater(selector)); 
}; 

ElementArrayFinder.prototype.$$r = function(selector) { 
    return this.all(protractor.by.repeater(selector)); 
}; 

$r("item in items") 
$$r("item in items") 

の代わりに:書くことができるようにするには

使用法:

$r("item in items") 
$$r("item in items") 
$("#id").$r("item in items") 
$("#id").$$r("item in items")