Javascript 在量角器中添加自定义定位器快捷方式
在量角器中,CSS选择器有:Javascript 在量角器中添加自定义定位器快捷方式,javascript,angularjs,css-selectors,protractor,Javascript,Angularjs,Css Selectors,Protractor,在量角器中,CSS选择器有: $(".myclass") // means: element(by.css(".myclass")) $$(".myclass") // means: element.all(by.css(".myclass")) 是否可以为其他定位器引入自定义快捷方式 更具体地说,如果我们想为“按中继器”呼叫提供$r和$$r快捷方式,该怎么办。要能够写作: $r("item in items") $$r("item in items") 而不是: element(
$(".myclass") // means: element(by.css(".myclass"))
$$(".myclass") // means: element.all(by.css(".myclass"))
是否可以为其他定位器引入自定义快捷方式
更具体地说,如果我们想为“按中继器”呼叫提供
$r
和$$r
快捷方式,该怎么办。要能够写作:
$r("item in items")
$$r("item in items")
而不是:
element(by.repeater("item in items"))
element.all(by.repeater("item in items"))
要创建快捷方式,请在全局命名空间和
ElementFinder
和ElementArrayFinder
的原型上添加自定义定位器:
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")
$("#id").$r("item in items")
$("#id").$$r("item in items")
我无法在我的项目中实现这一点。我尝试了几种方法。您介意分享您的代码吗?我想了解您是如何将自定义定位器添加到全局命名空间的?我经常遇到这样的错误:“$x不是函数”。已尝试添加元素(通过.xpath)